public void dropAllSheep() { if (sheepPickedup.Count == 0) { return; } SheepMovement droppedSheep_movement; Animator droppedSheep_animator; Rigidbody droppedSheep_rb; for (int i = 0; i < sheepPickedup.Count; i++) { GameObject droppedSheep = sheepPickedup.Pop(); droppedSheep_movement = droppedSheep.GetComponentInChildren <SheepMovement>(); droppedSheep_animator = droppedSheep.GetComponentInChildren <Animator>(); droppedSheep_rb = droppedSheep.GetComponent <Rigidbody>(); // set state to available and anim state to iddle droppedSheep_movement.setAvailable(); IAnimState animState = new Iddle(ref droppedSheep_animator); droppedSheep_movement.SetAnimState(animState); sheepCollideWithBases(droppedSheep); changePlayerSpeed(); droppedSheep_rb.velocity = Vector3.zero; droppedSheep_rb.useGravity = true; SendDroppedSheepMessage(droppedSheep.transform.name, droppedSheep_movement.getState(), droppedSheep_animator.GetInteger("Index")); } }
public Sequencer <BlackBoard> BuildTree(BlackBoard blackboard) { Sequencer <BlackBoard> rootNode = new Sequencer <BlackBoard>(blackboard); Iddle iddleNode = new Iddle(blackboard); rootNode.AddChild(iddleNode); Sequencer <BlackBoard> mining = new Sequencer <BlackBoard>(blackboard); rootNode.AddChild(mining); GoToMine goMineNode = new GoToMine(blackboard); Mine mineNode = new Mine(blackboard); mining.AddChild(goMineNode); mining.AddChild(mineNode); Sequencer <BlackBoard> depositing = new Sequencer <BlackBoard>(blackboard); rootNode.AddChild(depositing); GoHome goHomeNode = new GoHome(blackboard); Deposit depoNode = new Deposit(blackboard); depositing.AddChild(goHomeNode); depositing.AddChild(depoNode); return(rootNode); }
public void processLandSheepMessage(LandSheepMessage _msg) { GameObject sheep = GameObject.Find(_msg.sheepName); if (sheep != null) { SheepMovement sheep_movement = sheep.GetComponent <SheepMovement>(); Animator sheep_animator = sheep.GetComponentInChildren <Animator>(); // set state to available and anim state to iddle sheep_movement.setAvailable(); IAnimState animState = new Iddle(ref sheep_animator); sheep_movement.SetAnimState(animState); // ignoreCollisionWithBases(sheep, true); ignoreCollisionWithPlayers(sheep, true); } }