public static bool TimedPatch_BeginUnit2(BeginUnit __instance)
        {
            var t = Traverse.Create(__instance);
            // base.OnEnable();
            var inputInfo = typeof(InputState).GetField("InputInfos", BindingFlags.Static | BindingFlags.NonPublic);

            if (inputInfo.GetValue(null) == null)
            {
                var bii = new List <BattleInputInfo>();
                for (int i = 0; i < 36; i++)
                {
                    BattleInputInfo item = new BattleInputInfo();
                    bii.Add(item);
                }
                inputInfo.SetValue(null, bii);
            }
            Game.Input.Push(__instance);

            BM.Time = BattleEventToggleTime.BeginUnit;
            if (bTimed)
            {
                WuxiaUnit wuxiaUnit = Timed_Current();
                if (wuxiaUnit != null && !Timed_IsWaiting(wuxiaUnit))
                {
                    if (Timed_GetBeginTurn(wuxiaUnit))
                    {
                        wuxiaUnit.OnBufferEvent(BufferTiming.BeginTurn);
                        Timed_SetBeginTurn(wuxiaUnit, false);
                    }
                    BM.OnBattleEvent(BattleEventToggleTime.BeginUnit, Array.Empty <object>());
                    WaitClick = new Action(() =>
                    {
                        UnitWantWait = true;
                        UnitIsRest   = false;
                        __instance.SendEvent("FINISHED");
                    });
                }
            }
            else
            {
                BM.OnBattleEvent(BattleEventToggleTime.BeginUnit, Array.Empty <object>());
            }
            if (!BM.IsEvent)
            {
                t.Method("InitBeginUnit").GetValue();// this.InitBeginUnit();
                FSM.UI.SkillClick = new Action <SkillData>(__instance.OnSkillClick);
                FSM.UI.RestClick  = new Action(__instance.OnRestClick);
            }
            return(false);
        }
Exemple #2
0
    // Start is called before the first frame update
    void Start()
    {
        body           = GetComponent <Rigidbody2D>();
        movementVector = new Vector2();
        if (GetComponent <PlayerControl>() != null)
        {
            inputInfo = GetComponent <PlayerControl>().getInputInfo();
        }

        /*else if (GetComponent<AIControl>()!=null)
         * {
         *  inputInfo = GetComponent<AIControl>().getInputInfo();
         * }*/
        else
        {
            Debug.Log("Управление не назначено");
        }
    }
Exemple #3
0
 // Start is called before the first frame update
 private void Awake()
 {
     inputInfo = new BattleInputInfo();
 }