public override void IBuff_OnInit(CObjectBase pObjectOwner, ref EBuffOverlapOption_Flag eOverlapOption_Flag_Default_Is_Nothing, ref float fTickUnit_Default_Is_OneSecond) { base.IBuff_OnInit(pObjectOwner, ref eOverlapOption_Flag_Default_Is_Nothing, ref fTickUnit_Default_Is_OneSecond); eOverlapOption_Flag_Default_Is_Nothing = EBuffOverlapOption_Flag.Plus_Power; fTickUnit_Default_Is_OneSecond = const_fTickUnit; }
// ========================================================================== // public CBuff(CObjectBase pObjectOwner, CLASS_BUFF pBuffData, CBuffManager <T_BUFF_NAME, CLASS_BUFF> pBuffManager) { _pObjectOwner = pObjectOwner; _eDebuffOverlapOption = EBuffOverlapOption_Flag.Nothing; _fTickUnit = 1f; _pBuffManager = pBuffManager; p_pBuff = pBuffData; p_pBuff.p_pBuffData = this; p_pBuff.IBuff_OnInit(pObjectOwner, ref _eDebuffOverlapOption, ref _fTickUnit); }
public CStateContainer(CObjectBase pScriptOwner, CFSM <ENUM_STATE, CLASS_STATE> pFSMOwner, CLASS_STATE pState) { p_pScriptOwner = pScriptOwner; p_pStateInstance = pState; p_eStateName = pState.IDictionaryItem_GetKey(); p_pStateInstance.p_pScriptOwner = pScriptOwner; p_pStateInstance.p_pFSMOwner = pFSMOwner; p_pStateInstance.OnAwake_State(pScriptOwner, pFSMOwner); }
// ========================================================================== // /* public - [Do] Function * 외부 객체가 호출(For External class call)*/ public void DoInit_FSMExecuter(CObjectBase pOwner) { if (p_listState != null) { base.DoInit(pOwner, p_listState.ToArray()); } else { base.DoInit(pOwner, new CLASS_STATE[0]); } }
// ========================================================================== // /* public - [Do] Function * 외부 객체가 호출(For External class call)*/ public void DoAwake(CObjectBase pObjectOwner, params CLASS_BUFF[] arrBuffInstance) { _pObjectOwner = pObjectOwner; pObjectOwner.p_Event_OnActivate.Subscribe += OnActivate; _mapBuffInstance.Clear(); for (int i = 0; i < arrBuffInstance.Length; i++) { _mapBuffInstance.Add(new CBuff(pObjectOwner, arrBuffInstance[i], this)); } DoEnable(); }
public static void SetActive(this CObjectBase pObj, bool bEnable) { if (pObj == null) { return; } if (pObj.p_pGameObjectCached == null) { pObj.EventOnAwake(); } pObj.p_pGameObjectCached.SetActive(bEnable); }
virtual public void DoInit(CObjectBase pOwner, params CLASS_STATE[] arrState) { _pOwner = pOwner; _bIsExecute_Once = false; CraeteInstance(); _mapState.Clear(); for (int i = 0; i < arrState.Length; i++) { _mapState.Add(new CStateContainer(pOwner, this, arrState[i])); } p_listStateInstance.Clear(); p_listStateInstance.AddRange(arrState); }
virtual public void OnAwake_State(CObjectBase pScriptOwner, CFSM <ENUM_STATE, CLASS_STATE> pFSMOwner) { _pScriptOwner = pScriptOwner; if (p_pExecuter_OnTransitionState == null) { p_pExecuter_OnTransitionState = new CExecuterList <CLASS_EXECUTER_TRANSITION_STATE>(); } p_pExecuter_OnTransitionState.DoNotify_OnAwake(pScriptOwner); if (p_pExecuter_OnEnable == null) { p_pExecuter_OnEnable = new CExecuterList <CLASS_EXECUTER_ONSTART_STATE>(); } p_pExecuter_OnEnable.DoNotify_OnAwake(pScriptOwner); }
virtual public void IBuff_OnInit(CObjectBase pObjectOwner, ref EBuffOverlapOption_Flag eOverlapOption_Flag_Default_Is_Nothing, ref float fTickUnit_Default_Is_OneSecond) { }
virtual public void OnAwake_State(CObjectBase pScriptOwner, CFSM <EState, TestStateBase> pFSMOwner) { Debug.Log(IDictionaryItem_GetKey() + " " + nameof(OnAwake_State) + " pScriptOwner : " + pScriptOwner + " pFSMOwner : " + pFSMOwner); }
public Object_Activate_Arg(CObjectBase pScript, GameObject pGameObject, bool bActivate) { this.pScript = pScript; this.pGameObject = pGameObject; this.bActive = bActivate; }