void Awake() { appleTreeTargeter = (AppleTreeTargeter)GetComponent <AppleTreeTargeter>(); playerTargeter = (GameObjectTargeter)GetComponent <GameObjectTargeter>(); seekComponent = (Seek)GetComponent <Seek>(); movement = (Movement)GetComponent <Movement>(); playerTargeter.Target = GameObject.Find("Player"); ResetEatingVars(); addAudioSource(); // Difficulty settings int difficulty = 1; GameObject optionsGameObj = GameObject.Find("GameOptions"); // We won't be able to find the options GameObject if we haven't gone via the main menu if (optionsGameObj != null) { GameOptions options = optionsGameObj.GetComponent <GameOptions>(); difficulty = options.difficulty; } switch (difficulty) { case 0: // Easy fleeSpeed = 2.5f; break; case 1: default: // Normal fleeSpeed = 3.0f; break; case 2: // Hard fleeSpeed = 3.2f; break; case 3: // Insane fleeSpeed = 4.0f; break; } }
void Awake() { appleTreeTargeter = (AppleTreeTargeter)GetComponent <AppleTreeTargeter>(); playerTargeter = (GameObjectTargeter)GetComponent <GameObjectTargeter>(); seekComponent = (Seek)GetComponent <Seek>(); movement = (Movement)GetComponent <Movement>(); players = new List <GameObject>(GameObject.FindGameObjectsWithTag("Player")); ResetEatingVars(); addAudioSource(); // Difficulty settings int difficulty = 1; GameObject gameMasterGameObj = GameObject.Find("GameMaster"); if (gameMasterGameObj != null) { GameMaster gameMaster = gameMasterGameObj.GetComponent <GameMaster>(); difficulty = gameMaster.difficulty; } switch (difficulty) { case 0: // Easy fleeSpeed = 2.5f; break; case 1: default: // Normal fleeSpeed = 3.0f; break; case 2: // Hard fleeSpeed = 3.2f; break; case 3: // Insane fleeSpeed = 4.0f; break; } }
void Awake() { homeTargeter = GetComponent <GameObjectTargeter>(); huntTargeter = GetComponent <HuntTargeter>(); aStarTargeter = GetComponent <AStarTargeter>(); wanderer = GetComponent <Wander>(); seek = GetComponent <Seek>(); movement = GetComponent <Movement>(); animator = GetComponent <Animator>(); originalScale = transform.localScale; parentingTimer = 0f; timeSinceWentHome = GoHomeTimeout; // Ensure that the snake has someone to target and a home. if (Home == null || Player == null) { // Place in predator hierarchy. transform.parent = GameObject.Find("Predators").transform; // Set the player for the predator to chase and this predators home base. var predStateMac = GetComponent <PredatorStateMachine>(); predStateMac.Player = GameObject.FindGameObjectWithTag("Player"); if (Random.Range(0, 2) == 0) { predStateMac.Home = GameObject.Find("SnakeHomeLeft"); } else { predStateMac.Home = GameObject.Find("SnakeHomeRight"); } } huntTargeter.Target = Player; homeTargeter.Target = Home; currentState = State.HeadingHome; // So we don't play the chasing sound immediately! SoundSource = gameObject.AddComponent <AudioSource>(); SoundSource.loop = false; // Difficulty settings int difficulty = 1; GameObject optionsGameObj = GameObject.Find("GameOptions"); // We won't be able to find the options GameObject if we haven't gone via the main menu if (optionsGameObj != null) { GameOptions options = optionsGameObj.GetComponent <GameOptions>(); difficulty = options.difficulty; } switch (difficulty) { case 0: // Easy BubbleTime = 6.0f; normalSpeed = 1.5f; chaseSpeed = 1.9f; LeashLength = 8.0f; break; case 1: default: // Normal BubbleTime = 3.0f; normalSpeed = 2.0f; chaseSpeed = 3.0f; LeashLength = 8.0f; break; case 2: // Hard BubbleTime = 2.0f; normalSpeed = 2.0f; chaseSpeed = 3.5f; LeashLength = 12.0f; break; case 3: // Insane BubbleTime = 1.5f; normalSpeed = 3.0f; chaseSpeed = 4.0f; LeashLength = 9999.0f; break; } if (difficulty == 0) { huntTargeter.dumbAttack = true; } MaxSnakes = 5 + difficulty; ParentAge = 40.0f - 10.0f * (float)(difficulty); // For the class demonstration if (DemoMode) { // Make the snakes chase over the whole map in the demo LeashLength = 9999.0f; // Default, 1 = true int smart = 1; if (PlayerPrefs.HasKey("SmartDemoSnakes")) { smart = PlayerPrefs.GetInt("SmartDemoSnakes"); } if (smart == 1) { huntTargeter.dumbAttack = false; } else { huntTargeter.dumbAttack = true; } } }