Example #1
0
 void IStatus.Init(IActorController controller, StateHelper helper)
 {
     mController   = controller;
     mStateHelper  = helper;
     mTouchHandler = TouchHandler.GetInstance();
     fightTouch    = FightTouch._instance;
     AddCondition(IsUnderAttack, STATUS.HIT);
     AddCondition(IsControlPassive, STATUS.IDLE);//stop the state matchine update by using idle state anyway
     AddCondition(IsCanNotControl, STATUS.CANNOTCONTROL);
 }
Example #2
0
 private void SetCsAndPm(Animator animator)
 {
     if (cs == null)
     {
         cs = animator.GetComponent <CharacterState>();
     }
     if (pm == null)
     {
         pm = animator.GetComponent <PlayerMotion>();
     }
     mTouchHandler = TouchHandler.GetInstance();
     mFightTouch   = FightTouch._instance;
 }
Example #3
0
 public BF_Silence(float baseVal, object p) : base(baseVal, p)
 {
     mFightTouch = FightTouch._instance;
 }
Example #4
0
 void Awake()
 {
     _instance = this;
 }
Example #5
0
    public override void InitScene()
    {
        instance = this;

        Globe.fightHero = new int[] { (int)GameLibrary.player, 201000300, 201001900, 201001100, 0, 0 };

        Resource.CreatPrefabs("HeroPosEmbattle", null, new Vector3(10, 1000, 0));

        guidePanel = NextGuidePanel.Single();
        guidePanel.transform.parent     = SceneUIManager.instance.transform;
        guidePanel.transform.localScale = Vector3.one;

        insGuangQuan = Resources.Load(GameLibrary.Effect_UI + "yd_guangq") as GameObject;
        yd_guangq    = NGUITools.AddChild(SceneUIManager.instance.gameObject, insGuangQuan);
        yd_guangq.SetActive(false);
        if (yd_guangq.transform.Find("guangquan"))
        {
            guangquan = yd_guangq.transform.Find("guangquan").gameObject;
        }

        YinDao_GuangQuan = transform.Find("BullockCarts").gameObject;
        insYinDao        = Resource.CreatPrefabs("UI_YinDao_GuangQuan_01", YinDao_GuangQuan, Vector3.zero, GameLibrary.Effect_UI);

        promptArrow1 = Resource.CreatPrefabs("UI_YinDao_XiangQian_01", gameObject, Vector3.zero, GameLibrary.Effect_UI);
        promptArrow2 = Resource.CreatPrefabs("UI_YinDao_XiangQian_01", gameObject, Vector3.zero, GameLibrary.Effect_UI);
        SetArrowState(promptArrow1);
        SetArrowState(promptArrow2);

        fightTouchIns = FightTouch._instance;
        fightTouchIns.HideAllFightBtn();
        fightTouchIns.OnTouchBtn     += HideGuide;
        fightTouchIns.OnBtnTargetNil += SummonTargetNil;

        touchMove         = SceneUIManager.instance.moveTouch;
        touchMove.OnMove += TouchMove;

        touchCollider = SceneUIManager.instance.moveTouch.GetComponent <BoxCollider>();

        EffectBlock[] eb = GetComponentsInChildren <EffectBlock>();
        for (int i = 0; i < eb.Length; i++)
        {
            eb[i].OnCloseWall += (int num) =>
            {
                if (num > 2)
                {
                    SetArrowState(promptArrow2, true, airWallPos.transform.position);
                }
            };

            if (null == block && eb[i].transform.childCount == 2)
            {
                block = eb[i];
            }
        }

        for (int i = 0; i < Globe.fightHero.Length; i++)
        {
            if (Globe.fightHero[i] != 0)
            {
                playerData.GetInstance().RefreshHeroToList(Globe.fightHero[i], 1, i == 0 ? 1 : 20);
            }
        }

        CreateMainHero();

        for (int i = 0; i < Globe.Heros().Length; i++)
        {
            if (null != Globe.Heros()[i] && Globe.Heros()[i].id != 0)
            {
                Globe.Heros()[i].useServerAttr = false;
                Globe.Heros()[i].RefreshAttr();
            }
        }

        defKey = TOUCH_KEY.Run;
        ShowGuide(touchMove.transform, true);
        ShowGuidePanel(1);
        StartSpawn();
        SetArrowState(promptArrow1, true, player.transform.position);

        for (int i = 0; i < spwanList.Count; i++)
        {
            spwanList[i].isKM = false;
            if (spwanList[i].tag == Tag.boss)
            {
                spwanList[i].OnCreatMonster += (GameObject go, CharacterData cd) =>
                {
                    bossCs = go.GetComponent <CharacterState>();
                    TaskBossBlood();
                    go.GetComponent <CharacterState>().OnDead += (CharacterState cs) => { BossDead(); };
                };
            }
        }

        ReadTask(500);
        EnterDungensTask();

        ThirdCamera.instance._flatAngle = FSDataNodeTable <SceneNode> .GetSingleton().FindDataByType(GameLibrary.dungeonId).flat_angle;

        mask = SceneUIManager.instance.transform.Find("GuideMask").gameObject;
    }