Exemple #1
0
        public void FrameInit()
        {
            switch (generalObjFollowObjChange)
            {
            case GeneralObjFollowObjChange.Drag:
                getTarDelegate = GetTarOrder;
                break;

            case GeneralObjFollowObjChange.Script:
                getTarDelegate = GetTarSafeOrder;
                break;
            }
            switch (generalObjFollowState)
            {
            case GeneralObjFollowState.immediately:
                frameOrder = ImmediatelyOrder1;
                break;

            case GeneralObjFollowState.delayed:
                frameOrder = DelayedOrder1;
                break;

            case GeneralObjFollowState.monitor:
                frameOrder = MonitorOrder1;
                break;
            }
            timer = new PEIKnifer_Timer();
            timer.SetTime(delayedTime);
        }
        //this function was prepare for use euler angle rotate
        //public PEIMEN_STC_Trans(GameObject obj, bool needRotate, Vector3 targetPos, Vector3 targetOul)
        //{
        //}

        private void NormalInit(GameObject obj, bool needRotate, bool needScale, float speed, float rotSpeed, float scaleSpeed, PEIKnifer_Delegate_Void_Void callBackT, SimpleTransType type)
        {
            t             = new PEIKnifer_Timer();
            _loomFlag     = false;
            _loopLifeTime = 0;
            _doneDis      = 0.01f;
            _transType    = type;
            _needScale    = needScale;
            _scaleSpeed   = scaleSpeed;
            _callBack     = callBackT;
            _rotSpeed     = rotSpeed;
            _del          = PEIKNF_NullFunction.NullFunction;
            _l            = PEIMEN_Entity.L.AddL();
            _l.AddElement(TransUpdate);
            //l.AddElement(Update);
            //Awake();
            _needRotate = needRotate;
            _moveSpeed  = speed;

            _obj         = obj;
            Flag         = new PEIKnifer_Flag(BeginFunc, BackFunc);
            _oldPos      = _obj.transform.position;
            _oldScl      = _obj.transform.localScale;
            _oldRot      = _obj.transform.rotation;
            model        = new TransModel();
            model.Target = _target;
            model.OldPos = _oldPos;
            model.Object = _obj;
            //PEITime.WeekUp();
        }
Exemple #3
0
 public void MonitorOrder2()
 {
     if (Vector3.Distance(transform.position, getTarDelegate().transform.position) > monitorDistance)
     {
         frameOrder = MonitorOrder1;
     }
 }
        public void PositionOrder1()
        {
            transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(target - transform.position), Time.deltaTime * turnSpeed);//平滑旋转

            if (Quaternion.Angle(transform.rotation, Quaternion.LookRotation(target - transform.position)) < 1f)
            {
                frameOrder = Null;
            }
        }
        public void PositionOrder1()
        {
            transform.position = Vector3.MoveTowards(transform.position, target, followSpeed * Time.deltaTime);
            transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(target - transform.position), Time.deltaTime * turnSpeed);//平滑旋转

            if (Vector3.Distance(transform.position, target) < 0.1f)
            {
                frameOrder = Null;
            }
        }
Exemple #6
0
        public void MonitorOrder1()
        {
            transform.position = Vector3.MoveTowards(transform.position, getTarDelegate().transform.position, followSpeed * Time.deltaTime);
            transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(getTarDelegate().transform.position - transform.position), Time.deltaTime * turnSpeed);//平滑旋转

            if (Vector3.Distance(transform.position, getTarDelegate().transform.position) < distance)
            {
                frameOrder = MonitorOrder2;
            }
        }
Exemple #7
0
 private void EyeOpen()
 {
     if (EyeBlack.color.a > 0)
     {
         EyeBlack.color = new Color(EyeBlack.color.r, EyeBlack.color.g, EyeBlack.color.b, EyeBlack.color.a - Time.deltaTime * BlinkSpeed);
     }
     else
     {
         EyeBlinkDel = Null;
     }
 }
Exemple #8
0
        protected void XMLInitAwake(string xmlPathStr, PEIKnifer_Delegate_Void_Void loadFunction)
        {
            ins     = this;
            xmlPath = Application.persistentDataPath + "/" + xmlPathStr + ".xml";
            FileInfo t = new FileInfo(xmlPath);

            if (!t.Exists)
            {
                FirstLoadXml();
            }
            loadFunction();
        }
Exemple #9
0
 public void End()
 {
     flag = !flag;
     PEIMEN_Entity.Event.Trigger(this, new PEIE_Secret()
     {
         flag = flag
     });
     _del = _keyL[0].Check;
     _t.Clear();
     _toolNum = 0;
     //PEIKDE.Log("Secret", flag);
 }
Exemple #10
0
 public void DelayedOrder2()
 {
     if (Vector3.Distance(transform.position, getTarDelegate().transform.position) > distance && timer.Timer())
     {
         frameOrder = DelayedOrder1;
     }
     else
     if (Vector3.Distance(transform.position, getTarDelegate().transform.position) < distance)
     {
         timer.Clear();
     }
 }
Exemple #11
0
 public void Order1()
 {
     hChangeFlag = true;
     if (Time.timeScale > 0.1)
     {
         Time.timeScale -= Time.unscaledDeltaTime;
     }
     else
     {
         bossCamOrder = Order2;
     }
 }
Exemple #12
0
 public void Order2()
 {
     hChangeFlag = false;
     if (Time.timeScale < 0.95f)
     {
         Time.timeScale += Time.unscaledDeltaTime;
     }
     else
     {
         Time.timeScale = 1;
         bossCamOrder   = null;
     }
 }
Exemple #13
0
 private void EyeClose()
 {
     if (EyeBlack.color.a < 1)
     {
         EyeBlack.color = new Color(EyeBlack.color.r, EyeBlack.color.g, EyeBlack.color.b, EyeBlack.color.a + Time.deltaTime * BlinkSpeed);
     }
     else
     {
         EyeBlinkDel = EyeOpen;
         EyeCloseDel();
         EyeCloseDel = Null;
     }
 }
Exemple #14
0
 // Use this for initialization
 void Start()
 {
     _del          = NullFunction;
     _colliderList = new List <Collider>();
     for (int i = 0; i < UIList.Count; i++)
     {
         _toolCollider = UIList[i].GetComponent <Collider>();
         if (_toolCollider && _toolCollider.enabled)
         {
             _colliderList.Add(_toolCollider);
         }
     }
 }
        public void FrameInit()
        {
            frameOrder = Null;
            switch (objSimpleMoveState)
            {
            case PEIKEM_ObjSimpleMoveState.simple:
                SimpleInit();
                break;

            case PEIKEM_ObjSimpleMoveState.position:
                frameOrder = PositionOrder1;
                break;
            }
        }
Exemple #16
0
 public void Close(PEIKnifer_Delegate_Void_Void del)
 {
     Flag     = false;
     _doneDel = del;
     for (int i = 0; i < UIList.Count; i++)
     {
         UIList[i].Close();
     }
     for (int i = 0; i < _colliderList.Count; i++)
     {
         _colliderList[i].enabled = false;
     }
     _del = DelCheck;
 }
 public void SimpleInit()
 {
     if (x)
     {
         frameOrder += SimpleMoveX;
     }
     if (y)
     {
         frameOrder += SimpleMoveY;
     }
     if (z)
     {
         frameOrder += SimpleMoveZ;
     }
 }
Exemple #18
0
 public void Open(PEIKnifer_Delegate_Void_Void del)
 {
     Flag     = true;
     _doneDel = del;
     for (int i = 0; i < UIList.Count; i++)
     {
         UIList[i].Open();
         UIList[i].gameObject.SetActive(true);
     }
     for (int i = 0; i < _colliderList.Count; i++)
     {
         _colliderList[i].enabled = true;
     }
     _del = DelCheck;
     PEIKDE.Log("PG", "OBJ " + gameObject.name + " Anime UI Open");
 }
Exemple #19
0
 private void DelCheck()
 {
     for (int i = 0; i < UIList.Count; i++)
     {
         if (UIList[i].AnimeDoneFlag != Flag)
         {
             return;
         }
     }
     _doneDel();
     for (int i = 0; i < UIList.Count; i++)
     {
         UIList[i].gameObject.SetActive(Flag);
     }
     _doneDel = NullFunction;
 }
Exemple #20
0
 public void Init()
 {
     _toolNum = 0;
     _keyL    = new List <PEIKey_Origin>();
     _l       = PEIMEN_Entity.L.AddL();
     _l.AddElement(Update);
     _t = new PEIKnifer_Timer();
     _t.SetTime(1);
     flag = false;
     //_del = Step1;
     for (int i = 0; i < _key.Length; i++)
     {
         _keyL.Add(new PEIKey_Origin(_key[i].ToString(), Check));
     }
     _keyL[_key.Length - 1].A = End;
     _del = _keyL[0].Check;
     //PEIKDE.Log("Secret", "Init Done");
 }
 /// <summary>
 /// Return To Begin State Function
 /// </summary>
 public void BackFunc()
 {
     if (!_localFlag)
     {
         _toolV3a = _obj.transform.position;
     }
     else
     {
         _toolV3a = _obj.transform.localPosition;
     }
     _del = BackStep;
     if (_needRotate)
     {
         _toolQua = _obj.transform.rotation;
     }
     if (_needScale)
     {
         _toolS3a = _obj.transform.localScale;
     }
 }
Exemple #22
0
 //update camera position
 private void UpdatePosition()
 {
     if (!tGB.Equals(oTGB))
     {
         tGB = oTGB;
         try
         {
             target = tGB.transform;
         }
         catch
         {
         }
         offsetPos   = lOffsetPos;
         hChangeFlag = true;
     }
     if (boss && Vector3.Distance(boss.transform.position, transform.position) < 15 && !bossShow)
     {
         bossShow     = true;
         bossCamOrder = Order1;
     }
     if (hChangeFlag)
     {
         HeightChange();
     }
     else
     {
         SetupCamera();
         Vector3 targetPos = target.transform.position + offsetPos;
         targetPos.Set(targetPos.x, target.transform.position.y + 8, targetPos.z + Zf);
         transform.position = Vector3.MoveTowards(transform.position, targetPos, followSpeed * Time.deltaTime * 50);//smooth move
     }
     try
     {
         bossCamOrder();
     }
     catch { }
 }
        private void MoveStep()
        {
            //PEIKDE.Log("STC", "Move Step!");
            int toolNum = 0;

            if (_transType == SimpleTransType.MoveTowards)
            {
                _toolV3a = Vector3.MoveTowards(_toolV3a, _toolV3b, _moveSpeed * PEIMEN_Entity.Time.DeltaTime);
            }
            else
            {
                _toolV3a = Vector3.Lerp(_toolV3a, _toolV3b, _moveSpeed * PEIMEN_Entity.Time.DeltaTime);
            }
            if (_needRotate)
            {
                if (_transType == SimpleTransType.MoveTowards)
                {
                    _toolQua = Quaternion.RotateTowards(_toolQua, _toolQub, _rotSpeed * PEIMEN_Entity.Time.DeltaTime);
                }
                else
                {
                    _toolQua = Quaternion.Lerp(_toolQua, _toolQub, _rotSpeed * PEIMEN_Entity.Time.DeltaTime);
                }
            }
            if (_needScale)
            {
                if (_transType == SimpleTransType.MoveTowards)
                {
                    _toolS3a = Vector3.MoveTowards(_toolS3a, _toolS3b, _scaleSpeed * PEIMEN_Entity.Time.DeltaTime);
                }
                else
                {
                    _toolS3a = Vector3.Lerp(_toolS3a, _toolS3b, _scaleSpeed * PEIMEN_Entity.Time.DeltaTime);
                }
            }
            //if (Vector3.Distance(_toolV3a, _toolV3b) <= 0 && !_needRotate)
            //    _del = PEIKNF_NullFunction.NullFunction;
            //else if (Vector3.Distance(_toolV3a, _toolV3b) <= 0&& Quaternion.Angle(_toolQua, _toolQub) <= 0)
            //    _del = PEIKNF_NullFunction.NullFunction;
            if (Quaternion.Angle(_toolQua, _toolQub) <= _doneDis || !_needRotate)
            {
                _toolQua = _toolQub;
                toolNum++;
            }
            if (Vector3.Distance(_toolV3a, _toolV3b) <= _doneDis)
            {
                _toolV3a = _toolV3b;
                toolNum++;
            }
            if (Vector3.Distance(_toolS3a, _toolS3b) <= _doneDis || !_needScale)
            {
                _toolS3a = _toolS3b;
                toolNum++;
            }
            if (toolNum >= 3)
            {
                //PEIKDE.Log("PST","Trans Done!");
                _del     = PEIKNF_NullFunction.NullFunction;
                _toolNum = 3;
            }
            else
            {
                _toolNum = 0;
            }

            if (!_localFlag)
            {
                _obj.transform.position = _toolV3a;
            }
            else
            {
                _obj.transform.localPosition = _toolV3a;
            }
            if (_needRotate)
            {
                _obj.transform.rotation = _toolQua;
            }
            if (_needScale)
            {
                _obj.transform.localScale = _toolS3a;
            }

            if (_toolNum >= 3)
            {
                _callBack();
            }
        }
Exemple #24
0
 public void ChangeZero()
 {
     _t.Clear();
     _toolNum = 0;
     _del     = _keyL[_toolNum].Check;
 }
Exemple #25
0
 public void Check()
 {
     _toolNum++;
     _del = _keyL[_toolNum].Check;
     _t.Clear();
 }
Exemple #26
0
 public void EyeCloseDelAddFunction(PEIKnifer_Delegate_Void_Void del)
 {
     EyeCloseDel += del;
 }
Exemple #27
0
 public void BlinkEyes(PEIKnifer_Delegate_Void_Void del)
 {
     EyeCloseDel += del;
     EyeBlinkDel  = EyeClose;
 }
Exemple #28
0
 public void BlinkEyes()
 {
     EyeBlinkDel = EyeClose;
 }
Exemple #29
0
 // Use this for initialization
 void Awake()
 {
     Ins         = this;
     EyeBlinkDel = EyeOpen;
     EyeCloseDel = Null;
 }
 /// <summary>
 /// Trans Class Init Function For Mov Rot Scl With Target
 /// </summary>
 /// <param name="obj">need move object</param>
 /// <param name="target">target object</param>
 /// <param name="needRotate">whether need rotate</param>
 /// <param name="needScale">whether need scale</param>
 /// <param name="moveSpeed">object move speed</param>
 /// <param name="rotSpeed">object rotate speed</param>
 /// <param name="scaleSpeed">object scale speed</param>
 /// <param name="callBackT">move function callback function</param>
 public PEIMEN_STC_Trans(GameObject obj, GameObject target, bool needRotate, bool needScale, float moveSpeed, float rotSpeed, float scaleSpeed, PEIKnifer_Delegate_Void_Void callBackT)
 {
     NormalInit(obj, needRotate, needScale, moveSpeed, rotSpeed, scaleSpeed, callBackT, SimpleTransType.MoveTowards);
     _target = target;
 }