/// <summary>
        /// Called on Start
        /// </summary>
        protected override void Start()
        {
            base.Start();

            // cache a few properties
            _heightSampler = GameServices.heightStrategy.heightSampler;

            var unitData = this.GetUnitFacade();
            _heightCaps = unitData.heightNavigationCapability;
            bufferDistance += unitData.radius;
        }
예제 #2
0
        private void Awake()
        {
            this.WarnIfMultipleInstances <IUnitProperties>();

            _transform = this.transform;

            var heightStrat = GameServices.heightStrategy;

            _effectiveHeightCapabilities = heightStrat.useGlobalHeightNavigationSettings ? heightStrat.unitsHeightNavigationCapability : _heightCapabilities;
            GameServices.gameStateManager.RegisterUnit(this.gameObject);
        }
예제 #3
0
        /// <summary>
        /// Called on Start
        /// </summary>
        protected override void Start()
        {
            base.Start();

            // cache a few properties
            _heightSampler = GameServices.heightStrategy.heightSampler;

            var unitData = this.GetUnitFacade();

            _heightCaps     = unitData.heightNavigationCapability;
            bufferDistance += unitData.radius;
        }
예제 #4
0
        public void CloneFrom(UnitComponent unitComp)
        {
            _isSelectable        = unitComp.isSelectable;
            this.selectionVisual = unitComp.selectionVisual;

            _heightCapabilities          = unitComp._heightCapabilities;
            _effectiveHeightCapabilities = unitComp._effectiveHeightCapabilities;

            this.radius               = unitComp.radius;
            this.fieldOfView          = unitComp.fieldOfView;
            this.baseToPositionOffset = unitComp.baseToPositionOffset;

            this.height      = unitComp.height;
            this.yAxisoffset = unitComp.yAxisoffset;
        }