public override void ApplyInput(GameInput input) { if (input.Jump) { // Owner.Revive(); GameMgr.Instance.LastCheckPoint(); } var anim = Animator.GetAnimator(); var state = anim.GetCurrentAnimatorStateInfo(0); if (state.IsName("die") && state.length - state.normalizedTime < 0.1f) { // 动画时间外 GameMgr.Instance.LineMgr.CanDraw = false; //if (input.Jump) //{ // Owner.Revive(); // GameMgr.Instance.LastCheckPoint(); //} } }
public override void ApplyInput(GameInput input) { if (Owner == null || Owner.IsDead) { return; } if (!Owner.OnTheLine) { if (input.Left || input.Right) { Owner.Run(); return; } } else { if (!Owner.Grounded && (input.Left || input.Right)) { Owner.Run(); return; } } if (input.Up && Owner.OnTheClimbAera) { // TODO 这里要从玩家坐标向玩家的朝向发射一个射线,如果发现与梯子距离小于设定值, // 那么按上则采取靠近梯子,当与梯子的距离足够近,并且,还是梯子中心的时候再转换成为爬梯子的状态 Owner.Climb(); return; } if (input.Jump) { Owner.Jump(); return; } }
public void ApplyInput(GameInput input) { if (!CanDraw) { return; } if (Input.GetMouseButtonDown(1)) { DestoryLine(); } // 如果是鼠标按下 if (input.Mouse1Down) { SetStartPos(); } else if (input.Mouse1Up) { SetEndPos(); } else if (input.Mouse1Move) { MovePos(); } }
public override void ApplyInput(GameInput input) { if (Owner.OnTheLine) { return; } if (input.Left) { Owner.TurnRound(Dir.Left); Move(); } else if (input.Right) { Owner.TurnRound(Dir.Right); Move(); } // TODO 当玩家是X到达梯子中心点的时候,在切换状态 if ((input.Up || input.Down) && Owner.OnTheClimbAera) { Owner.Climb(); } }
public void ApplyInput(GameInput input) { MyState.ApplyInput(input); }
public void ApplyInput(GameInput input) { var state = States[(int)CurrentPlayerState]; state.ApplyInput(input); }
void Start() { if (PlayerObject == null) { PlayerObject = GameObject.Find("Faylisa"); if (PlayerObject == null) { PlayerObject = GameObject.Find("BlueHat"); } } RecordingTime = true; IsPause = false; InputMgr = gameObject.AddComponent <GameInput>(); PlayerLogic = PlayerObject.AddMissingComponent <Player>(); LineMgr = gameObject.AddMissingComponent <LineMgr>(); UiManager = gameObject.AddMissingComponent <UIManager>(); UiManager.OpenUI(0); Config = new GameConfig(); Config.Load(); // 查找开关 var s = GameObject.Find("GameSwitch"); if (s != null) { WorldSwith = s.GetComponent <GameSwitch>(); } if (WorldSwith == null) { WorldSwith = new GameSwitch(); WorldSwith.ForbidDrawLine = false; WorldSwith.ForbidTimeOperation = false; } if (Camera.main.GetComponent <ProCamera2D>().CameraTargets.Count == 0) { Camera.main.GetComponent <ProCamera2D>().AddCameraTarget(PlayerObject.transform); } Camera.main.GetComponent <ProCamera2DTransitionsFX>().TransitionEnter(); GameObject bgm = GameObject.Find("BGManager"); if (bgm == null) { Instantiate(Resources.Load("prefabs/Utilities/BGManager")); } // 首先从gamedata中得到当前level的保存信息 // 如果没有保存内容,那么就创建一个 if (GameData.Instance != null) { SaveBlack data = GameData.Instance.GetLevelData(LevelName); if (data == null) { GameData.Instance.AddNewLevel(LevelName, LevelName, PlayerLogic.Position); } else { GameData.Instance.ChangeCurrentLevel(LevelName); // 重置玩家坐标 PlayerLogic.SetRevivePoint(data.BornPos); PlayerLogic.Position = data.BornPos; } } CreateLevelItem(); PlayerLogic.OnPickUpAction += GameData.Instance.SaveCollectPickup; }
public virtual void ApplyInput(GameInput input) { }