Exemplo n.º 1
0
 public Tile(TileCode code, int x, int y, string name)
 {
     Code = code;
     X    = x;
     Y    = y;
     Name = name;
 }
Exemplo n.º 2
0
        private static void OnMapCodeCheck(TileCode code, Vector2 location, GameObject player)
        {
            switch (code.Code)
            {
            case TileCodes.Start:
                player.Position = location;
                break;

            case TileCodes.Spawn:
                Spawn(code, location);
                break;

            case TileCodes.Checkpoint:
                var checkPoint = Factory.CreateCheckPoint();
                checkPoint.Position = location;
                EntityManager.AddEntity(checkPoint);
                break;

            case TileCodes.Exit:
                var exit = Factory.CreateExit();
                exit.Position = location;
                EntityManager.AddEntity(exit);
                break;

            case TileCodes.Key:
                var key = Factory.CreateKey();
                key.Position = location;
                EntityManager.AddEntity(key);
                key.Send("KEYSTRING", code.Message);
                break;

            case TileCodes.Lock:
                var Lock = Factory.CreateLock();
                Lock.Position = location;
                EntityManager.AddEntity(Lock);
                Lock.Send("KEYSTRING", code.Message);
                break;

            case TileCodes.Dialog:
                var sign = Factory.CreateSign();
                sign.Position = location;
                EntityManager.AddEntity(sign);
                break;
            }
        }
Exemplo n.º 3
0
        private static void OnCodeUnderPlayerCheck(TileCode code, GameObject player)
        {
            switch (code.Code)
            {
            case TileCodes.JumpthroughTop:
                player.Send("PHYSICS_SET_JUMPTHROUGHCHECK", true);
                break;

            case TileCodes.Water:
                player.Send("PHYSICS_SET_INWATER", true);
                break;

            case TileCodes.LeftSlope:
                player.Send("PHYSICS_SET_LEFTSLOPE", true);
                break;

            case TileCodes.RightSlope:
                player.Send("PHYSICS_SET_RIGHTSLOPE", true);
                break;
            }
        }
Exemplo n.º 4
0
        private static void Spawn(TileCode code, Vector2 position)
        {
            var codearray  = code.Message.Split('_');
            var components = new List <IComponent>
            {
                (IComponent)
                Activator.CreateInstance(
                    Type.GetType("DareToEscape.Components.Entities." + codearray[0] + "Component"))
            };
            var turret = new GameObject(components)
            {
                Position = position
            };

            turret.Send("SET_" + codearray[1], turret);
            if (codearray[0].Contains("Boss"))
            {
                GameVariableProvider.Bosses.Add(turret);
            }
            EntityManager.AddEntity(turret);
        }
Exemplo n.º 5
0
        private static int OnCodeInPlayerCenterCheck(TileCode code, List <TileCode> codes,
                                                     Vector2 collisionCenter,
                                                     int i, GameObject player)
        {
            switch (code.Code)
            {
            case TileCodes.Transition:
                if (EngineState.GameState == EngineStates.Editor)
                {
                    break;
                }
                Ingame.GetInstance().Activate();
                LevelManager.LoadLevel <Map <TileCode>, TileCode>(code.Message);
                GameVariableProvider.SaveManager.CurrentSaveState.Keys.Clear();
                GameVariableProvider.SaveManager.CurrentSaveState.BossDead = false;
                break;

            case TileCodes.Dialog:
                if (InputMapper.StrictAction)
                {
                    DialogHelper.PlayDialog(code.Message);
                }
                break;

            case TileCodes.Save:
                GameVariableProvider.SaveManager.Save();
                codes.Remove(new TileCode(TileCodes.Save));
                --i;
                break;

            case TileCodes.PushLeft:
                player.Send("PHYSICS_PUSHLEFT", true);
                break;

            case TileCodes.PushRight:
                player.Send("PHYSICS_PUSHRIGHT", true);
                break;

            case TileCodes.PushUp:
                player.Send("PHYSICS_PUSHUP", true);
                break;

            case TileCodes.PushDown:
                player.Send("PHYSICS_PUSHDOWN", true);
                break;

            case TileCodes.Deadly:
                player.Send <string>("KILL", null);
                break;

            case TileCodes.Trigger:
                if (code.Message == "BOSS")
                {
                    foreach (var boss in GameVariableProvider.Bosses)
                    {
                        boss.Send <string>("SHOOT", null);
                    }
                }
                break;

            case TileCodes.CameraFocusTrigger:
                var parts     = code.Message.Split('_');
                var pointName = parts[0];
                int frameCount;
                int.TryParse(parts[1], out frameCount);
                EntityManager.AddEntity(new GameObject(CameraMoveComponent.GetInstance(pointName, frameCount)));
                break;
            }

            return(i);
        }
Exemplo n.º 6
0
 public bool IsTileCode(int x, int y, TileCode tileCode)
 {
     return(data [x, y] == tileCode);
 }
Exemplo n.º 7
0
 public override string ToString()
 {
     return(MapLocation.ToString() + " a:" + AdjacencyList.Count + " c:" + TileCode.ToString());
 }