public override bool AssignWorker(AI_Controller worker) { BaseCharacter character = worker.GetComponent <BaseCharacter>(); if (!character) { return(false); } Inventory inventory = worker.GetComponent <Inventory>(); if (!inventory || !inventory.HasItem(BlockID, 1)) { return(false); } return(base.AssignWorker(worker)); }
public void HandleDeadNPC(AI_Controller npc) { mNPCList.Remove(npc); // here we also need to spawn the event, with the location of their death. if (npc.GetComponent <GRT_Behaviour>()) { mGruntDied.Raise(npc.transform.position); } if (npc.GetComponent <LNK_Behaviour>()) { mLankyDied.Raise(npc.transform.position); } if (npc.GetComponent <TNK_Behaviour>()) { mTankDied.Raise(npc.transform.position); } }
// so here we have to kind of hack in figuring out when we last shot, and if it's this frame (or very close to) private void SetShotTrigger() { AI_Conditions cons = mEntity.GetComponent <AI_Conditions>(); if (Time.time - mGun.mFireTimeStamp <= 0.05f) { mAnimController.SetTrigger("Shoot"); } else { mAnimController.ResetTrigger("Shoot"); } }