Beispiel #1
0
        public void RegisterBasementInfoUI(BaseBasement basement)
        {
            var prefab = Resources.Load <GameObject>($"UI/{ConstData.UI_BasementInfoName}");

            if (prefab != null)
            {
                var instance = Instantiate(prefab);
                instance.transform.parent        = _canvas.transform;
                instance.transform.localScale    = Vector3.one;
                instance.transform.localRotation = Quaternion.identity;

                var basementInfo = instance.GetComponent <UIBasementInfo>();
                basementInfo.Init(basement);

                var objectInstanceId = basement.gameObject.GetInstanceID();
                if (!_objectUIs.ContainsKey(objectInstanceId))
                {
                    _objectUIs.Add(objectInstanceId, new List <UIBaseComponent>());
                }
                _objectUIs[objectInstanceId].Add(basementInfo);

                _autoUpdatingUI.Add(basementInfo);
                _autoPositioningUI.Add(basementInfo);
            }
        }
Beispiel #2
0
        public void UpdateBasement(BaseBasement basement)
        {
            if (_basement != null)
            {
                GameObject.DestroyImmediate(_basement.gameObject);
            }

            _basement = basement;
        }
Beispiel #3
0
 public TileData()
 {
     Pos            = Vector3Int.zero;
     Team           = BaseObject.TeamEnum.NONE;
     Tile           = null;
     _unit          = null;
     _basement      = null;
     OnConstruction = false;
 }
Beispiel #4
0
        public void AttachUnit(BaseBasement basement, BaseUnit unit)
        {
            var cellPos = WorldToCellPos(basement.transform.position);

            AttachUnit(cellPos, unit);
        }