示例#1
0
        public override void Init(Contexts contexts, IEntity entity)
        {
            base.Init(contexts, entity);
            UnityTrigger trigger = gameObject.AddComponent <UnityTrigger>();

            _ai = new PeasantAgent((ai, maps) => InitGameData(ai, maps, contexts, trigger));
        }
示例#2
0
 protected virtual void OnLevelWasLoaded(int p_index)
 {
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnLevelWasLoaded) || Trigger == ButtonTrigger.OnLevelWasLoaded)
     {
         CallSend();
     }
 }
示例#3
0
 protected virtual void FirstLateUpdate()
 {
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnFirstLateUpdate))
     {
         CallSend();
     }
 }
示例#4
0
 protected virtual void OnApplicationQuit()
 {
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnApplicationQuit) || Trigger == ButtonTrigger.OnApplicationQuit)
     {
         CallSend();
     }
 }
示例#5
0
 protected virtual void OnDisable()
 {
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnDisable) || Trigger == ButtonTrigger.OnDisable)
     {
         CallSend();
     }
 }
示例#6
0
 protected virtual void OnDestroy()
 {
     //Take Care Calling Events OnDestroy!!
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnDestroy))
     {
         CallSend();
     }
 }
示例#7
0
 protected virtual void Start()
 {
     Started = true;
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnStart) || Trigger == ButtonTrigger.OnStart)
     {
         CallSend();
     }
 }
示例#8
0
 protected virtual void Awake()
 {
     ApplyUIEvents();
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnAwake) || Trigger == ButtonTrigger.OnAwake)
     {
         CallSend();
     }
 }
示例#9
0
 protected virtual void OnApplicationPause(bool p_paused)
 {
     if ((UnityTrigger.ContainsFlag(UnityTriggerEnum.OnAppGainFocus) || Trigger == ButtonTrigger.OnGainFocus) && !p_paused)
     {
         CallSend();
     }
     else if ((UnityTrigger.ContainsFlag(UnityTriggerEnum.OnAppLoseFocus) || Trigger == ButtonTrigger.OnLoseFocus) && p_paused)
     {
         CallSend();
     }
 }
示例#10
0
 protected virtual void LateUpdate()
 {
     if (_firstLateUpdate)
     {
         _firstLateUpdate = false;
         FirstLateUpdate();
     }
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnLateUpdate))
     {
         CallSend();
     }
 }
示例#11
0
 protected virtual void OnEnable()
 {
     StartAlarmTriggers();
     if (Started && Highlighted)
     {
         OnHover(KiltUICamera.IsHighlighted(gameObject));
     }
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnEnable) || Trigger == ButtonTrigger.OnEnable)
     {
         CallSend();
     }
 }
示例#12
0
 protected virtual void Update()
 {
     if (_firstUpdate)
     {
         _firstUpdate = false;
         FirstUpdate();
     }
     if (UnityTrigger.ContainsFlag(UnityTriggerEnum.OnUpdate))
     {
         CallSend();
     }
     UpdateTimeBetweenSends();
     if (KeyToLauch != KeyCode.None && Input.GetKeyDown(KeyToLauch))
     {
         CallSend(false);
     }
     ApplyAlarmTriggersTime();
     CheckComboKeys();
 }
示例#13
0
        private void InitGameData(IAgent <ActionEnum, GoalEnum> ai, IMaps <ActionEnum, GoalEnum> maps, Contexts contexts, UnityTrigger trigger)
        {
            EnemyData temp = ModelManager.Single.EnemyDataModel.DataDic[EnemyId.EnemyPeasant];
            EnemyData data = new EnemyData();

            data.Copy(temp);
            maps.SetGameData(GameDataKeyEnum.CONFIG, data);
            maps.SetGameData(GameDataKeyEnum.SELF_TRANS, transform);
            Transform player = (contexts.game.gamePlayer.Player as ViewBase).transform;

            maps.SetGameData(GameDataKeyEnum.ENEMY_TRANS, player);
            maps.SetGameData(GameDataKeyEnum.AUDIO_SOURCE, GetComponent <AudioSource>());
            maps.SetGameData(GameDataKeyEnum.ANIMATION, GetComponent <Animation>());

            PeasantAgent agent = ai as PeasantAgent;

            maps.SetGameData(GameDataKeyEnum.AI_MODEL_MANAGER, agent.ViewMgr(maps).ModelMgr);

            maps.SetGameData(GameDataKeyEnum.UNITY_TRIGGER, trigger);
        }