Example #1
0
 public void PlaceWrong(PlaceElement pickup)
 {
     if (pickup)
     {
         pickup.OnPickDown();
     }
 }
Example #2
0
 protected virtual void Awake()
 {
     pickUpElement = GetComponent <PlaceElement>();
     pickUpElement.onPickUp.AddListener(OnPickUp);
     pickUpElement.onPickDown.AddListener(OnLayDown);
     pickUpElement.onInstallOkEvent += OnInstallOK;
 }
Example #3
0
        public virtual PlaceElement Detach()
        {
            PlaceElement old = obj;

            old.onInstallOkEvent   -= OnInstallComplete;
            old.onUnInstallOkEvent -= OnUnInstallComplete;
            obj = default(PlaceElement);
            return(old);
        }
Example #4
0
        public virtual void Attach(PlaceElement obj)
        {
            if (this.obj != null)
            {
                Debug.LogError(this + "allready attached");
            }

            this.obj                = obj;
            obj.onInstallOkEvent   += OnInstallComplete;
            obj.onUnInstallOkEvent += OnUnInstallComplete;
        }
        protected override void OnBeforeEnd(bool force)
        {
            base.OnBeforeEnd(force);

            if (!AlreadyPlaced)
            {
                PlaceElement obj = GetUnInstalledObj(Name);
                Attach(obj);
                obj.QuickInstall(this, true);
                obj.StepComplete();
            }
        }
        protected override void OnAutoInstall()
        {
            PlaceElement obj = GetUnInstalledObj(Name);

            Attach(obj);
            obj.StepActive();
            if (Config.quickMoveElement && !ignorePass)
            {
                obj.QuickInstall(this, true);
            }
            else
            {
                obj.NormalInstall(this, true);
            }
        }
Example #7
0
        /// <summary>
        /// 尝试安装元素
        /// </summary>
        void TryPlaceObject(PlaceElement pickedObj)
        {
            ray = viewCamera.ScreenPointToRay(Input.mousePosition);
            if (installAble)
            {
                PlaceObject(installPos, pickedObj);
            }
            else
            {
                PlaceWrong(pickedObj);
                SetUserErr(resonwhy);
            }

            installAble = false;

            if (activeNotice)
            {
                highLight.UnHighLightTarget(pickedObj.Render);
            }
        }
Example #8
0
 public abstract void PlaceObject(PlaceElement pickup);
 public override void PlaceObject(PlaceElement pickup)
 {
     Attach(pickup);
     pickup.QuickInstall(this, true);
     pickup.PickUpAble = false;
 }
Example #10
0
 public void PlaceObject(PlaceObj pos, PlaceElement pickup)
 {
     pos.PlaceObject(pickup);
 }
 public override void PlaceObject(PlaceElement pickup)
 {
     Attach(pickup);
     pickup.QuickInstall(this, false);
 }