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); }
// 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("Управление не назначено"); } }
// Start is called before the first frame update private void Awake() { inputInfo = new BattleInputInfo(); }