public void SwitchedPhase(GameplayPhase phase) { gameplayPhase = phase; switch (gameplayPhase) { //ova faza počinje kolizijom case GameplayPhase.Battle: GenerateStartingItems(); GenerateEnemy(); onBattlePhase.Invoke(); break; //ova faza počinje nakon kaj izađeš iz kampa ili kombata case GameplayPhase.Choosing: onChoosingPhase.Invoke(); GenerateEnemy(); break; //nakon kaj se ispune uvjeti za finish borbe case GameplayPhase.Camp: Camp(); break; case GameplayPhase.Loot: GenerateLootItems(); break; } }
// Use this for initialization protected virtual void Start() { //set start phase phase = SelectHerrow; //Set all variables declared in BalistaTuning velocity = BalistaTuning.Instance.velocity; velocityMax = BalistaTuning.Instance.velocityMax; vAcceleration = BalistaTuning.Instance.vAcceleration; movementOffset = BalistaTuning.Instance.movementOffset; maxDrag = BalistaTuning.Instance.maxDrag; effectForce = BalistaTuning.Instance.effectForce; force = BalistaTuning.Instance.force; minForceForEffect = BalistaTuning.Instance.minForceForEffect; rangeDisableEffect = BalistaTuning.Instance.rangeDisableEffect; animationDefault = BalistaTuning.Instance.animationDefault; animationMultiplier = BalistaTuning.Instance.animationMultiplier; minDragForMultiplier = BalistaTuning.Instance.minDragForMultiplier; }
private void LateUpdate() { if (phase != null) { //handle change state switch (phase.Method.Name) { case "SelectHerrow": { if (!GameRules.Instance.quiver.activeSelf && Timer.Instance.crTimer != null) { phase = StartSetPosition; } break; } case "StartSetPosition": { if (InputController.Pressed) { phase = OnExitSetPosition; } break; } case "OnExitSetPosition": { phase = Preparation; break; } case "Preparation": { if (InputController.Released) { phase = SetThrow; } break; } case "SetThrow": { if (end.y - start.y < 0 && !InputController.IsTap) { phase = Throw; } else { phase = StartSetPosition; } break; } case "Throw": { phase = ArrowFlight; break; } case "ArrowFlight": { break; } } } }