Ejemplo n.º 1
0
        public UnitView GetUnit(UnitId id)
        {
            if (id == player.id)
            {
                return(player);
            }
            UnitView view;

            units.TryGetValue(id, out view);
            return(view);
        }
Ejemplo n.º 2
0
 void StartGame()
 {
     status = GameStatus.Gaming;
     UpdateMenu();
     playerId = new UnitId(UnitType.Player);
     PushToView(new UnitLibCmd(playerId));
     MonoBehaviourHook.Instance.StartCoroutine(GenerateEnemy());
     PushToView(new InputModel()
     {
         OnClickSpace = OnClickSpace,
     });
     PushToView(new CollideTrigger()
     {
         id          = playerId,
         onCollision = OnCollision,
     });
 }
Ejemplo n.º 3
0
        IEnumerator GenerateEnemy()
        {
            int idx = 0;

            while (status == GameStatus.Gaming)
            {
                var id = new UnitId(UnitType.Enemy, idx);
                idx++;
                var movable = new Movable()
                {
                    id       = id,
                    type     = MoveType.ToTarget,
                    targetId = playerId,
                    speed    = 1f,
                };
                PushToView(new UnitLibCmd(id));
                PushToView(movable);
                yield return(new WaitForSeconds(1f));
            }
        }
Ejemplo n.º 4
0
 void OnCollision(UnitId self, UnitId other)
 {
     status = GameStatus.GameOver;
     UpdateMenu();
     PushToView(new UnitLibCmd(playerId, UnitLibCmdType.Destroy));
 }
Ejemplo n.º 5
0
 public UnitCmd(UnitId id, T component)
 {
     this.id        = id;
     this.component = component;
 }
Ejemplo n.º 6
0
 public UnitLibCmd(UnitId id, UnitLibCmdType type = UnitLibCmdType.Create)
 {
     this.id   = id;
     this.type = type;
 }