using System.Collections; using System.Collections.Generic; using DependencyInjection; using UnityEngine; /// /// encapsulate the behaviors implementation and added to the ghost block on runtime /// public class GhostController : MonoBehaviour { [RuntimeInject] private IPlacementHandler placementHandler; [Inject] private IBlockValidator blockValidator; private ISnapBehavior snapBehavior; private IVisualFeedback visualFeedback; private IRotateHandler rotationHandler; private GlopalLogger logger; [Inject] public void init(GlopalLogger logger) { this.logger = logger; } void Start() { if (blockValidator == null) { logger.Log("Hamada msh Maugod"); } else { logger.Log("Laa Hamada Maugod"); } if (placementHandler == null) { logger.Log("Hamada Eltany msh Maugod"); } else { placementHandler.Debugln(); } Invoke(nameof(check), 15); } void check() { if (placementHandler == null) { logger.Log("Hamada Eltany msh Maugod"); } else { placementHandler.Debugln(); } } }