Exemplo n.º 1
0
        private void Start()
        {
            valueMonitorPool.Clear();
            base.Awake();
            var player1 = GameObject.Find("Player1");

            mainCollider = gameObject.GetChild("Collider").GetChild("BoxCollider").GetComponent <BoxCollider>();
            RoleBehaviorTree roleBehaviorTree = Owner.GetComponent <RoleBehaviorTree>();

            if (roleBehaviorTree != null)
            {
                Vector3 initvector3 = roleBehaviorTree.TargetController.transform.position;
                if (roleBehaviorTree.TargetController != null)
                {
                    InitPos(new Vector3(initvector3.x, transform.position.y, initvector3.z));
                }
                else
                {
                    InitPos(new Vector3(transform.position.x + (roleBehaviorTree.SelfController.GetDirectionInt() * 10), transform.position.y, transform.position.z));
                }

                behaviorTree = Owner.GetComponent <BehaviorDesigner.Runtime.BehaviorTree>();
                behaviorTree.SetVariableValue("hammerpos", transform.position);
                behaviorTree.SetVariableValue("hammer", gameObject);
            }
            //delayFunc(()=>
            //{
            //    MainAnimator.speed = 0f;
            //},0.4f);
            valueMonitorPool.AddMonitor <int>(() =>
            {
                if (roleBehaviorTree != null)
                {
                    if (roleBehaviorTree.TargetController != null)
                    {
                        Vector3 v3 = roleBehaviorTree.TargetController.transform.position;
                        return(v3.x - transform.position.x > 0 ? 1 : -1);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    return(0);
                }
            }, (int from, int to) =>
            {
                if (to != 0)
                {
                    MainDamageData.direction    = new Vector3(to, 0, 0);
                    MainDamageData.targetMoveBy = new Vector3(AngleIntensity.x * to, AngleIntensity.y, AngleIntensity.z).normalized *Intensity;
                }
            });
        }
Exemplo n.º 2
0
 public override void OnTriggerIn(TriggerEvent evt)
 {
     if (evt.colider.gameObject.layer == LayerMask.NameToLayer("Ground") || evt.colider.gameObject.tag == "BackWall")
     {
         // 冻结z方向旋转 add by TangJian 2018/05/08 20:04:58
         MainRigidbody.freezeRotation = true;
         faii = false;
         MainRigidbody.useGravity  = false;
         MainRigidbody.isKinematic = true;
         MainDamageController.gameObject.SetActive(false);
         IsGrounded = false;
         //collider.gameObject.layer = LayerMask.NameToLayer("SceneComponent");
         MainAnimator.SetTrigger("Trigger");
         //transform.eulerAngles = Vector3.zero;
         behaviorTree.SetVariableValue("hammerpos", transform.position);
         Speed = Vector3.zero;
         MainRigidbody.isKinematic = true;
     }
 }
Exemplo n.º 3
0
        protected override void InitializeInstance(BehaviorTree instance)
        {
            instance.SetVariableValue(PATROL_POINTS_VARIABLE_NAME, m_PatrolPoints);

            base.InitializeInstance(instance);
        }