public void Init(TDCBaseController owner)
    {
        m_Owner = owner;
        m_GameManager = TDCGameManager.GetInstance();

        SetupCraftingButton();
        SetupStatusUI();
        SetupActionButtons();
        SetupSkillButtons();
    }
 public TDCSkillSlot(TDCEnum.EGameType skillType, TDCEntity owner)
 {
     m_GameManager = TDCGameManager.GetInstance();
     m_SkillData = m_GameManager.GetSkillData(skillType);
     m_SkillType = skillType;
     m_Owner = owner;
     m_TimeDelay = 0f;
     for (int i = 0; i < m_SkillData.TriggerEnvent.Length; i++)
     {
         m_Owner.AddEventListener(m_SkillData.TriggerEnvent[i], ActiveSkill);
     }
 }
    public UIItemController(UIItemData data)
    {
        m_Data = data;
        m_GameManager = TDCGameManager.GetInstance();
        m_Inventory = UIInventory.GetInstance();

        m_EffectManager = new EffectManager();
        m_EffectManager.LoadEffect(m_Data.EffectPath);
        m_EffectManager.RegisterCondition("CanActiveEffect", CanActiveEffect);

        m_EffectManager.RegisterExcuteMethod("PrintDebug", PrintDebug);
        m_EffectManager.RegisterExcuteMethod("CreateObjectEffect", CreateObjectEffect);
        m_EffectManager.RegisterExcuteMethod("DropItSelfEffect", DropItSelfEffect);
        m_EffectManager.RegisterExcuteMethod("AddValueEffect", AddValueEffect);
        m_EffectManager.RegisterExcuteMethod("SubtractValueEffect", SubtractValueEffect);
    }
    void Awake()
    {
        m_Instance = this;

        DontDestroyOnLoad(this.gameObject);
        m_DataReader = new TDCDataReader();
        m_ListEntities = new Dictionary<string, TDCEntity>();
        m_ObjectPool = new Dictionary<TDCEnum.EGameType, TDCObjectPool<TDCEntity>>();

        #if UNITY_ANDROID
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
        #endif
    }
    public virtual void Init()
    {
        m_Transform	= this.transform;
        SetStartPosition (m_Transform.position);
        SetTargetPosition (m_Transform.position);

        m_AnimatorController = this.GetComponent<Animator> ();
        m_Collider 			 = this.GetComponent<CapsuleCollider> ();
        m_ObjectCurrentvalue = new Dictionary<string, object>();

        m_GameManager 	= TDCGameManager.GetInstance();
        m_FSMManager 	= new FSMManager();

        var waiting 		= new FSMWaitingState (this);
        var waitingOne 		= new FSMWaitingOneSecondState (this);
        var waitingOne2Three = new FSMWaitingOne2ThreeSecondState (this);
        var waitingThree2Five = new FSMWaitingThree2FiveSecondState (this);
        var sleepState 		= new FSMSleepState(this);
        var dayModeState	= new FSMDayModeState(this);
        var nightModeState	= new FSMNightModeState(this);

        m_FSMManager.RegisterState("WaitingState", waiting);
        m_FSMManager.RegisterState("WaitingOneSecondState", waitingOne);
        m_FSMManager.RegisterState("WaitingOne2ThreeSecondState", waitingOne2Three);
        m_FSMManager.RegisterState("WaitingThree2FiveSecondState", waitingThree2Five);
        m_FSMManager.RegisterState("DayModeState", dayModeState);
        m_FSMManager.RegisterState("NightModeState", nightModeState);
        m_FSMManager.RegisterState("SleepState", sleepState);

        m_FSMManager.RegisterCondition("IsActive", IsActive);
        m_FSMManager.RegisterCondition("CountdownWaitingTime", CountdownWaitingTime);
        m_FSMManager.RegisterCondition("IsDayTime", TDCDateTime.IsDayTime);
        m_FSMManager.RegisterCondition("IsMidDayTime", TDCDateTime.IsMidDayTime);
        m_FSMManager.RegisterCondition("IsNightTime", TDCDateTime.IsNightTime);
        m_FSMManager.RegisterCondition("IsMidNightTime", TDCDateTime.IsMidNightTime);
        m_FSMManager.RegisterCondition("IsSpring", IsSpring);
        m_FSMManager.RegisterCondition("IsSummer", IsSummer);
        m_FSMManager.RegisterCondition("IsAutumn", IsAutumn);
        m_FSMManager.RegisterCondition("IsWinter", IsWinter);
        m_FSMManager.RegisterCondition("IsRainy", IsRainy);
        m_FSMManager.RegisterCondition("IsOverHeat", IsOverHeat);
        m_FSMManager.RegisterCondition("IsWindy", IsWindy);
        m_FSMManager.RegisterCondition("IsSnowy", IsSnowy);
    }