public JumpSlideFSM(WorkerConfig wc, BoxCollider mCollider, Animator mAnimator, Transform transform, GameObject mShadow, WorkerFSM workerController) { this.wc = wc; //this.gd = gd; this.mCollider = mCollider; this.mAnimator = mAnimator; this.transform = transform; this.shadow = mShadow; this.workerController = workerController; InitializeFSM(); }
//public GameData gd; /// <summary> /// Check the tutorial item to allow action according to it /// </summary> private void OnTriggerEnter(Collider other) { if (other.CompareTag("Worker")) { WorkerFSM workerFSM = other.GetComponent <WorkerFSM>(); if (workerFSM.currentState == WorkerState.Worker || workerFSM.currentState == WorkerState.SlaveMerger) { return; } switch (tag) { case "TutJump": TutorialManager.Instance.TutorialState = TutorialState.Jump; break; case "TutSlide": TutorialManager.Instance.TutorialState = TutorialState.Slide; break; case "TutStrafeLeft": TutorialManager.Instance.TutorialState = TutorialState.LeftStrafe; break; case "TutStrafeRight": TutorialManager.Instance.TutorialState = TutorialState.RightStrafe; break; case "TutAddWorker": TutorialManager.Instance.TutorialState = TutorialState.AddWorker; break; case "TutMerge": TutorialManager.Instance.TutorialState = TutorialState.MergeWorker; break; case "TutCollide": workerFSM.health += 1; break; case "TutEnd": TutorialManager.Instance.TutorialState = TutorialState.End; break; } gameObject.SetActive(false); } }
public void AddWorker(Vector2 pos) { if (TutorialManager.Instance.Active && TutorialManager.Instance.TutorialState == TutorialState.AddWorker) { TutorialManager.Instance.ExitState(); } GameObject worker = ObjectPooler.Instance.GetFromPool(wc.workerType); worker.transform.position = new Vector3(pos.x, worker.transform.position.y, pos.y); WorkerFSM workerFSM = worker.GetComponent <WorkerFSM>(); workerFSM.level = 0; workerFSM.health = 1; workers.Add(workerFSM); AudioManager.Instance.PlaySound("Add Worker"); }
//SkinnedMeshRenderer hel; //SkinnedMeshRenderer ov; //List<Mesh> helMesh = new List<Mesh>(); //List<Mesh> ovMesh = new List<Mesh>(); public MergerCollide(WorkerConfig wc, MeshChange mc, WorkerFSM w) { this.wc = wc; wfsm = w; m_meshChange = mc; }
public TutJumpSlide(WorkerConfig wc, BoxCollider mCollider, Animator mAnimator, Transform transform, GameObject shadow, WorkerFSM workerController) : base(wc, mCollider, mAnimator, transform, shadow, workerController) { }
public WorkerWithoutVestCollide(Animator animator, Rigidbody rb, WorkerFSM state, MeshChange mesh) : base(animator, rb) { mState = state; mMeshChange = mesh; }
public void ElectNewLeader() { leader = workers.GetNewLeader(); }
public void Descend(WorkerFSM worker) { workers.Descend(worker); }
public void RemoveWorker(WorkerFSM worker) { workers.Remove(worker); }