Пример #1
0
 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();
 }
Пример #2
0
    //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);
        }
    }
Пример #3
0
    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");
    }
Пример #4
0
    //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;
    }
Пример #5
0
 public TutJumpSlide(WorkerConfig wc, BoxCollider mCollider, Animator mAnimator, Transform transform,
                     GameObject shadow, WorkerFSM workerController) : base(wc, mCollider, mAnimator, transform, shadow, workerController)
 {
 }
Пример #6
0
 public WorkerWithoutVestCollide(Animator animator, Rigidbody rb, WorkerFSM state, MeshChange mesh) : base(animator, rb)
 {
     mState      = state;
     mMeshChange = mesh;
 }
Пример #7
0
 public void ElectNewLeader()
 {
     leader = workers.GetNewLeader();
 }
Пример #8
0
 public void Descend(WorkerFSM worker)
 {
     workers.Descend(worker);
 }
Пример #9
0
 public void RemoveWorker(WorkerFSM worker)
 {
     workers.Remove(worker);
 }