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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
    // ========================================================================== //

    /* 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();
    }
Beispiel #6
0
    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);
    }
Beispiel #7
0
    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);
    }
Beispiel #8
0
    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)
 {
 }
Beispiel #10
0
 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;
 }