private void SelectNextScarecrow(bool forward) { // create queue, ordered depending on whether we are searching forward or backward var scarecrows = new Queue <Scarecrow>(forward ? _scarecrowManager.ScarecrowsLeftToRight : _scarecrowManager.ScarecrowsRightToLeft); // rotate queue so the current scarecrow is last if (scarecrows.Contains(_scarecrowSelected)) { var scarecrow = scarecrows.Dequeue(); while (scarecrow != _scarecrowSelected) { scarecrows.Enqueue(scarecrow); scarecrow = scarecrows.Dequeue(); } scarecrows.Enqueue(scarecrow); } // select the next scarecrow _scarecrowSelected = scarecrows.Dequeue(); // if this scarecrow is not intact, keep looking while (!_scarecrowSelected.IsIntact && scarecrows.Any()) { _scarecrowSelected = scarecrows.Dequeue(); } UpdateSelection(); }
private void Awake() { //if (spriteRenderer == null) spriteRenderer = transform.parent.parent.GetComponent<SpriteRenderer>(); durability = MaxDurability; Scarecrow = transform.parent.parent.GetComponent <Scarecrow>(); }
private void Start() { _scarecrowManager = Utility.ScarecrowManager; _seasonManager = Utility.SeasonManager; _spriteRenderer = GetComponent <SpriteRenderer>(); _scarecrowSelected = _scarecrowManager.ScarecrowsLeftToRight.First(); UpdateSelection(); }
// Use this for initialization void Start() { point = transform.TransformPoint(Vector3.up * 3); scarecrow = FindObjectOfType(typeof(Scarecrow)) as Scarecrow; forceMultiplier = 150f; if(SystemInfo.deviceType == DeviceType.Handheld) { Input.multiTouchEnabled = false; } }
public Scarecrow poolScarecrow(int SC_type) { if (SC_type == 2) { if (sc_pool_002.Count == 0) { GameObject newObject = Instantiate(scarecrow_002_prefab); Scarecrow newSC = newObject.GetComponent <Scarecrow>(); newSC.setPrefabBank(this); newSC.setEnemyManager(enemyManager); newSC.setSpawningManager(spawningManager); return(newSC); } else { Scarecrow newSC = sc_pool_002.Pop(); return(newSC); } } else if (SC_type == 3) { if (sc_pool_003.Count == 0) { GameObject newObject = Instantiate(scarecrow_003_prefab); Scarecrow newSC = newObject.GetComponent <Scarecrow>(); newSC.setPrefabBank(this); newSC.setEnemyManager(enemyManager); newSC.setSpawningManager(spawningManager); return(newSC); } else { Scarecrow newSC = sc_pool_003.Pop(); return(newSC); } } else { if (sc_pool_001.Count == 0) { GameObject newObject = Instantiate(scarecrow_001_prefab); Scarecrow newSC = newObject.GetComponent <Scarecrow>(); newSC.setPrefabBank(this); newSC.setEnemyManager(enemyManager); newSC.setSpawningManager(spawningManager); return(newSC); } else { Scarecrow newSC = sc_pool_001.Pop(); return(newSC); } } }
public void takeOutScarecrow(Scarecrow val, int SC_type) { if (SC_type == 1) { sc_pool_001.Push(val); } else if (SC_type == 2) { sc_pool_002.Push(val); } else if (SC_type == 3) { sc_pool_003.Push(val); } val.gameObject.SetActive(false); }
public void spawnScareCrow(int val) { if (isSpawnPossible(val)) { Scarecrow newSC = prefabBank.poolScarecrow(val); int posIdx = findSCPosition(); newSC.gameObject.transform.position = spawningVectors[posIdx]; slots[posIdx] = false; newSC.setSlot(posIdx); roots.spendWater(prefabBank.waterCosts[val - 1]); foliage.spendSun(prefabBank.sunCosts[val - 1]); newSC.init(); } }
// Use this for initialization void Start() { mScarecrow = FindObjectOfType(typeof(Scarecrow)) as Scarecrow; mCrow = FindObjectOfType(typeof(Crow)) as Crow; mCornStalks = FindObjectsOfType(typeof(CornStalk)) as CornStalk[]; dialogMesh = FindObjectOfType(typeof(TextMesh)) as TextMesh; dialogMesh.renderer.enabled = false; dialogTimeDisplayed = 0f; lastDialogDay = 0; lastDialogLine = 0; batteryIcon = (Texture2D) Resources.Load("PowerIcon", typeof(Texture2D)); batteryMeterColor = Color.green; hungerMeterColor = Color.green; stressMeterColor = Color.green; batteryMeterTexture = GetMeterTexture(batteryMeterColor); hungerMeterTexture = GetMeterTexture(hungerMeterColor); stressMeterTexture = GetMeterTexture(stressMeterColor); dnc = FindObjectOfType(typeof(DayNightCycle)) as DayNightCycle; crowKnownDead = false; robotKnownDead = false; cornKnownDead = false; crowDeadLines = new string[18]; crowDeadLines[0] = "Oh God! What have I done!?"; crowDeadLines[1] = "Filbert. I had named him Filbert."; crowDeadLines[2] = "What do I do now?"; crowDeadLines[3] = "I'm so sorry Filbert. I'm so sorry..."; crowDeadLines[4] = "I... don't know what to do..."; crowDeadLines[5] = "Thought up a song for Filbert today.\nHe would have liked it, I think"; crowDeadLines[6] = "Why did you have to die?"; crowDeadLines[7] = "I miss you..."; crowDeadLines[8] = "Was this all I was created for?"; crowDeadLines[9] = "Where do I go from here?"; crowDeadLines[10] = "Filbert... Filbert... where are you..."; crowDeadLines[11] = "Where are you God?"; crowDeadLines[12] = "Why am I here?"; crowDeadLines[13] = "Life is meaningless..."; crowDeadLines[14] = "The corn does not need me."; crowDeadLines[15] = "The corn does not want me."; crowDeadLines[16] = "I don't want this anymore."; crowDeadLines[17] = "What's the point?"; audio.clip = kNormalMusic; audio.Play(); menuTimer = 0f; }
private void Update() { if (scarecrows.Count > 0) { foreach (var scarecrow in scarecrows) { if (Vector2.Distance(transform.position, scarecrow.transform.position) < 50) { scareCrowToChase = scarecrow; myState = PriestState.Chase; } } if (scareCrowToChase == null) { if (Vector2.Distance(player.transform.position, transform.position) < 50) { myState = PriestState.Chase; } else { myState = PriestState.Roam; } } } else { if (Vector2.Distance(player.transform.position, transform.position) < 50) { myState = PriestState.Chase; } else { myState = PriestState.Roam; } scareCrowToChase = null; } switch (myState) { case PriestState.Idle: Idle(); break; case PriestState.Roam: Roam(); break; case PriestState.Chase: Chase(); break; default: break; } if (Move.Equals(Vector2.zero)) { animator.SetBool("walk", false); } animator.SetBool("walk", true); if (scareCrowToChase == null) { if (Move.x < 0) { transform.localScale = new Vector3(-1, 1, 1); } else { transform.localScale = new Vector3(1, 1, 1); } } rb.velocity = Move * speed; }
public CrowState_Fleeing() { mStateID = CrowStates.Fleeing; mCrow = GameObject.FindObjectOfType( typeof( Crow ) ) as Crow; mScarecrow = GameObject.FindObjectOfType( typeof( Scarecrow ) ) as Scarecrow; mSafePoints = GameObject.FindGameObjectsWithTag( "SafePoints" ); }
//---------------------------------------------------------------------------------------------------- // Use this for initialization //---------------------------------------------------------------------------------------------------- void Start() { mHunger = 0.5f; mStress = 0f; // set up the AI mStateMachine = new StateMachine(); mStateMachine.AddState( new CrowState_Idle() ); mStateMachine.AddState( new CrowState_Dead() ); mStateMachine.AddState( new CrowState_Eating() ); mStateMachine.AddState( new CrowState_Fleeing() ); mStateMachine.AddState( new CrowState_FlyingToCorn() ); mStateMachine.AddState( new CrowState_WaitingForStress() ); // find the scarecrow mScarecrow = FindObjectOfType(typeof(Scarecrow)) as Scarecrow; // start moving FlyToCorn(); // pick the next time for the caw sound to play mNextCawSoundTime = Time.time + Random.Range( 0f, 2f ); }
/// <summary> /// Maakt de blok aan /// </summary> /// <param name="id">Afhankelijk van de id zullen we een bepaalde blok aanmaken</param> /// <param name="content">ContentManager object dat we gebruiken om textures te laden</param> /// <returns>De aangemaakt blok</returns> protected override GameObject CreateBlock(int id, ContentManager content) { GameObject b = null; if (id == 1) { b = new DirtBlock(content, "01"); } else if (id == 2) { b = new GrassTopBlock(content, "04"); } else if (id == 3) { b = new GrassRightBLock(content, "08"); } else if (id == 4) { b = new LeftTopCornerBlock(content, "03"); } else if (id == 5) { b = new RightTopCornerBlock(content, "02"); } else if (id == 6) { b = new AcidMudLeftAndBottomBlock(content, "19"); } else if (id == 7) { b = new AcidMudBottomBlock(content, "15"); } else if (id == 8) { b = new AcidMudRightAndBottomBlock(content, "22"); } else if (id == 9) { b = new GrassLeftBlock(content, "07"); } else if (id == 10) { b = new LeftBottomCornerBlock(content, "10"); } else if (id == 11) { b = new RightBottomCornerBlock(content, "09"); } else if (id == 12) { b = new PlatformBlock(content, "plate1"); } else if (id == 13) { b = new BoxFirstVariant(content, "box1"); } else if (id == 14) { b = new BoxSecondVariant(content, "box2"); } else if (id == 15) { b = new Scarecrow(content, "scarecrow"); } else if (id == 16) { b = new Pointer(content, "pointer"); } else if (id == 17) { b = new OrangeTree(content, "tree1"); } else if (id == 18) { b = new YellowTree(content, "tree2"); } else if (id == 19) { b = new MovingBlock(content, "plate1"); } else if (id == 20) { b = new MovingBlock(content, "plate1") { Invert = true } } ; else if (id == 21) { b = new StarCollectable(content, "star"); } else if (id == 22) { b = new BouncingAcidBall(content, "LavaFireballSprite"); } else if (id == 23) { b = new UpUnderBlock(content, "bovenonder"); } else if (id == 24) { b = new LeftOverRoofBlock(content, "linksoverkaping"); } else if (id == 25) { b = new RightOverRoofBlock(content, "rechtsoverkaping"); } else if (id == 26) { b = new UnderBlock(content, "13"); } else if (id == 27) { b = new FullBlock(content, "11"); } else if (id == 30) { b = new GreenGoblin(content, "GreenGoblinSprite"); } else if (id == 31) { b = new Giant(content, "GiantSprite"); } else if (id == 32) { b = new Orc(content, "BlackGoblin"); } else if (id == 33) { b = new BlueGoblin(content, "BlueMonster"); } else if (id == 40) { b = new InvisibleBlock(content, "legeBlok"); } else if (id == 50) { b = new ButtonNextLevel(content, "button"); } return(b); }