Beispiel #1
0
        protected override void OnShow(object userData)
        {
            base.OnShow(userData);

            // 自己主堡產生時, 檢查是否需要採集資源
            SceneObj sceneObj;

            if (GameCore.NetData.TryGetSceneObjData(Id, out sceneObj) == false)
            {
                return;
            }

            // 設定初始建築資料
            initBuildInfo();

            // 設定是否顯示
            InternalSetVisible(Visible);

            // 通知植披系統不要在此地格顯示地格
            WorldAgent.Vector2i hex = new WorldAgent.Vector2i(sceneObj.Hex().x, sceneObj.Hex().y);
            GameCore.Event.Fire(this, VegetationShownEventArgs.Create(hex, false));
        }
Beispiel #2
0
        protected override void OnHide(bool isShutdown, object userData)
        {
            base.OnHide(isShutdown, userData);
            CachedTransform.localScale = Vector3.one;

            if (isShutdown)
            {
                return;
            }

            var etor = builds.GetEnumerator();

            while (etor.MoveNext())
            {
                ReferencePool.Release(etor.Current);
            }
            builds.Clear();

            gridHex.Release();

            // 通知植披系統恢復顯示
            GameCore.Event.Fire(this, VegetationShownEventArgs.Create(HexUtility.Position2Hex(CachedTransform.position), true));
        }