void OnTap(RunCharacter character, int remainCount) { var target = targets[remainCount]; character.Shoot(target.transform.position); target.SetActive(false); }
protected void CharacterInit(CharacterList character, int Code) { GameData.FDefense = new float[2]; switch (character) { case CharacterList.AirCharacter: AirCharacter air = new AirCharacter(Code); air.CharacterInit(ref GameData); break; case CharacterList.GroundCharacter: GroundCharacter ground = new GroundCharacter(Code); ground.CharacterInit(ref GameData); break; case CharacterList.StopCharacter: StopCharacter stop = new StopCharacter(Code); stop.CharacterInit(ref GameData); break; case CharacterList.PotopCharacter: PotopCharacter potop = new PotopCharacter(ref GameData); break; case CharacterList.RunCharacter: RunCharacter run = new RunCharacter(ref GameData); break; case CharacterList.PlayerCharacter: if (Check) { GameData.Hp = MaxHp; } else { GameData.Hp = MaxHp = 1500; GameData.Speed = 10 * 0.5f; GameData.Damage = 18.5f; GameData.AtkSpeed = 8 / 3f; } Check = true; break; case CharacterList.Boss: GameData.Hp = MaxHp = 18500; GameData.FDefense[0] = 15; GameData.FDefense[1] = 15; break; } MaxHp = GameData.Hp; }
void OnTriggerEnter(Collider other) { // Unityの挙動?コライダの判定がShift前の位置関係でEnterすることがあるので距離で弾いておく if (Vector3.Distance(other.transform.position, transform.position) >= StageSettings.ZLength) { return; } EventStatus = Status.Entered; character = other.GetComponent <RunCharacter>(); if (character != null) { character.OnEventEnter(this); } }
void OnTriggerExit(Collider other) { if (other == null) { return; } if (character == null) { return; } if (EventStatus != Status.Entered) { return; } if (WillSuccess) { EventStatus = Status.Success; StartCoroutine(WaitForSuccess()); if (onEventSuccess != null) { onEventSuccess(character); } character.OnEventExit(); } else { EventStatus = Status.Failed; GameController.Instance.GameOver(); if (onEventFailed != null) { onEventFailed(character); } } character = null; }
public void Initialize(RunCharacter runCharacter) { this.character = runCharacter; enabled = true; }
public void Select(int index, GameObject parent) { RunCharacter = FieldRoot.InstantiateTo <RunCharacter>(parent, prefabs[index]); }
void OnFailed(RunCharacter character) { }
void OnSuccess(RunCharacter character) { character.Jump(); }
void OnSuccess(RunCharacter character) { wall.SetActive(false); }
public void Initialize(RunCharacter runCharacter) { this.runCharacter = runCharacter; Construct(); }