Exemple #1
0
    void SetDirectionForAngle(float angle)
    {
        int direction;

        if ((angle >= -45 && angle < 45) || (angle >= 315))
        {
            direction = 0;
        }
        else if ((angle >= -315 && angle < -225) || (angle >= 45 && angle < 135))
        {
            direction = 1;
        }
        else if ((angle >= -225 && angle < -135) || (angle >= 135 && angle < 225))
        {
            direction = 2;
        }
        else
        {
            direction = 3;
        }

        if (AnimatorComponent != null)
        {
            AnimatorComponent.SetInteger("Direction", direction);
        }
    }
Exemple #2
0
    public override void SetObject(IObject obj)
    {
        base.SetObject(obj);

        mAnimatorManager = mObj.GetComponent <AnimatorComponent>();
        if (mAnimatorManager == null)
        {
            mObj.AddComponent <AnimatorComponent>();
        }

        mSkillComponent = mObj.GetComponent <SkillComponent>();
        if (mSkillComponent == null)
        {
            mObj.AddComponent <SkillComponent>();
        }

        if (Obj == null)
        {
            return;
        }

        mAttackSpace = mObj.GetProperty("AttackSpace").GetFloat();

        // 获取怪物普攻技能
        mAttackId = mObj.GetProperty("AttackId").GetInt();

        mKey = string.Format("{0}_{1}", mObj.mObjId, mObj.mIndex);
    }
Exemple #3
0
    void Start()
    {
        if (this.gameObject.GetComponent <AnimatorComponent>() == null)
        {
            m_AnimatorManager = this.gameObject.AddComponent <AnimatorComponent>();
        }
        else
        {
            m_AnimatorManager = this.gameObject.GetComponent <AnimatorComponent>();
        }
        //
        if (this.gameObject.GetComponent <InjuredComponent>() == null)
        {
            m_InjuredComponent = this.gameObject.AddComponent <InjuredComponent>();
        }
        else
        {
            m_InjuredComponent = this.gameObject.GetComponent <InjuredComponent>();
        }

        if (this.gameObject.GetComponent <NpcAICtrl>() == null)
        {
            m_NpcAICtrl = this.gameObject.AddComponent <NpcAICtrl>();
        }
        else
        {
            m_NpcAICtrl = this.gameObject.GetComponent <NpcAICtrl>();
        }
        m_NpcAICtrl.NpcAICtrlStart(this);
    }
Exemple #4
0
    public override void SetObject(IObject obj)
    {
        base.SetObject(obj);

        mRestoreComponent  = obj.GetComponent <RestoreComponent>();
        mAnimatorComponent = obj.GetComponent <AnimatorComponent>();
    }
Exemple #5
0
    public override void SetObject(IObject obj)
    {
        mAnimatorComponent = obj.GetComponent <AnimatorComponent>();
        mRestoreComponent  = obj.GetComponent <RestoreComponent>();

        InitAI();
    }
Exemple #6
0
    //private UISlider mBar;
    //private UILabel mValue;

    public override void SetObject(IObject obj)
    {
        base.SetObject(obj);

        if (mObj == null)
        {
            return;
        }

        mCurrentHp = mObj.GetProperty("CurHp").GetInt64();
        mMaxHp     = mObj.GetProperty("InitHp").GetInt64();

        mCurrentMp = mObj.GetProperty("CurMp").GetInt64();
        mMaxMp     = mObj.GetProperty("InitMp").GetInt64();

        mCurrentEng = mObj.GetProperty("CurEng").GetInt64();
        mMaxEng     = mObj.GetProperty("InitEng").GetInt64();

        mAnimatorManager = mObj.GetComponent <AnimatorComponent>();
        if (mAnimatorManager == null)
        {
            mObj.AddComponent <AnimatorComponent>();
        }

        mAnimatorManager = mObj.GetComponent <AnimatorComponent>();

        //UIManager.Instance.mHUDUIPanel.Bar(obj);
    }
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        AnimatorComponent mAnimatorComponent = animator.GetComponent <AnimatorComponent>();

        if (mAnimatorComponent == null)
        {
            return;
        }

        IObject obj = mAnimatorComponent.mObj;

        if (obj == null)
        {
            return;
        }

        if (obj is CRoleObject)
        {
            if (stateInfo.IsName("attack_4"))
            {
                animator.SetInteger("AttackIndex", 0);
            }
        }
        else if (obj is CMonsterObject)
        {
            if (stateInfo.IsName("attack_2"))
            {
                animator.SetInteger("AttackIndex", 0);
            }
        }
    }
Exemple #8
0
 /// <summary>
 /// 判断是否是重攻击
 /// </summary>
 public bool IsHeavyAttack()
 {
     stateInfo = AnimatorComponent.GetCurrentAnimatorStateInfo(0);
     if (stateInfo.IsName("2Att1") || stateInfo.IsName("2Att2") || stateInfo.IsName("2Att3") ||
         stateInfo.IsName("2Att4") || stateInfo.IsName("3Att2") || stateInfo.IsName("3Att5"))
     {
         return(true);
     }
     return(false);
 }
        public Node <INode> GetNode(string nodeName)
        {
            switch (nodeName)
            {
            case AnimatorComponent.NAME:
                var nodeAnimator = new AnimatorComponent() as INode;
                return(new Node <INode> (nodeAnimator));

            default:
                return(null);
            }
        }
Exemple #10
0
    public override void SetObject(IObject obj)
    {
        base.SetObject(obj);

        mAnimatorManager = mObj.GetComponent <AnimatorComponent>();
        if (mAnimatorManager == null)
        {
            mObj.AddComponent <AnimatorComponent>();
        }

        mFindingPathComponent = mObj.GetComponent <FindingPathComponent>();

        mTargetDistance = obj.GetProperty("AttackRange").GetFloat();
    }
Exemple #11
0
    void Update()
    {
        if (AnimatorComponent != null)
        {
            //if (AnimatorComponent.ContainsParam("Jumping"))
            {
                AnimatorComponent.SetBool("Jumping", _enemy.IsJumping);
            }
        }

        float angle = GetFacingAngleRelativeToCamera();

        SetDirectionForAngle(angle);
    }
Exemple #12
0
    public override void SetObject(IObject obj)
    {
        base.SetObject(obj);

        if (mObj == null)
        {
            return;
        }

        mObjInitPosition = mObj.mPosition;

        mObjAttackComponent   = mObj.GetComponent <AttackComponent>();
        mObjMoveComponent     = mObj.GetComponent <MoveComponent>();
        mObjAnimatorComponent = mObj.GetComponent <AnimatorComponent>();

        mMaxPursuitRange = obj.GetProperty("PursuitRange").GetFloat();
        mAttackRange     = obj.GetProperty("AttackRange").GetFloat();
    }
Exemple #13
0
    void Start()
    {
        if (this.gameObject.GetComponent <PlayerCtrlManager>() == null)
        {
            m_PlayerCtrlManager = this.gameObject.AddComponent <PlayerCtrlManager>();
        }
        else
        {
            m_PlayerCtrlManager = this.gameObject.GetComponent <PlayerCtrlManager>();
        }

        if (this.gameObject.GetComponent <AnimatorComponent>() == null)
        {
            m_AnimatorManager = this.gameObject.AddComponent <AnimatorComponent>();
        }
        else
        {
            m_AnimatorManager = this.gameObject.GetComponent <AnimatorComponent>();
        }
    }
Exemple #14
0
    /// <summary>
    /// 初始化 添加角色技能
    /// </summary>
    public override void SetObject(IObject obj)
    {
        base.SetObject(obj);

        mAnimatorManager = obj.GetComponent <AnimatorComponent>();

        List <string> skillList = UtilTools.GetStringSplit(obj.GetProperty("SkillList").GetString());

        for (int i = 0; i < skillList.Count; ++i)
        {
            int skillId = UtilTools.IntParse(skillList[i]);
            if (skillId < 11)
            {
                continue;
            }

            Skill skill = new Skill(mObj, skillId);
            mSkillDic.Add(skillId, skill);
        }
    }
    public void ActionHandle(BuffHandlerVar buffHandlerVar)
    {
#if !SERVER
        Buff_PlayAnim buff_PlayAnim = (Buff_PlayAnim)buffHandlerVar.data;

        if (buff_PlayAnim.playSpeed == 0)
        {
            buff_PlayAnim.playSpeed = 1;
        }

        if (!buffHandlerVar.GetBufferValue(out BufferValue_TargetUnits bufferValue_TargetUnits))
        {
            Log.Error("找不到对应的目标!");
            return;
        }
        foreach (var v in bufferValue_TargetUnits.targets)
        {
            //角色动画
            AnimatorComponent animatorComponent = v.GetComponent <AnimatorComponent>();
            if (!string.IsNullOrEmpty(buff_PlayAnim.anim_boolValue))
            {
                if (buff_PlayAnim.canBeInterrupted)
                {
                    buffHandlerVar.cancelToken.Register(() =>
                    {
                        animatorComponent.SetBoolValue(buff_PlayAnim.anim_boolValue, !buff_PlayAnim.boolValue);
                    });
                }
                animatorComponent.SetBoolValue(buff_PlayAnim.anim_boolValue, buff_PlayAnim.boolValue);
            }
            if (!string.IsNullOrEmpty(buff_PlayAnim.anim_triggerValue))
            {
                animatorComponent.SetTrigger(buff_PlayAnim.anim_triggerValue);
            }

            float speed = buffHandlerVar.playSpeed * buff_PlayAnim.playSpeed;

            // animatorComponent.SetAnimatorSpeed(speed);
        }
#endif
    }
Exemple #16
0
        public override void Start()
        {
            base.Start();

            //todo 播放动作
            UnityEngine.Debug.Log("播放动作");


            AnimatorComponent animatorComponent = m_Skill.Caster.GetUnitComponent <AnimatorComponent>();
            SkillData         skillData         = m_Skill.SkillData;

            if (skillData.IsNormalAttack == 1)
            {
                animatorComponent.SetIntValue(Constant.AnimatorParam.AttackId, skillData.SkillAnimatorIndex);
                animatorComponent.SetTrigger(Constant.AnimatorParam.Attack);
            }
            else
            {
                animatorComponent.SetIntValue(Constant.AnimatorParam.SkillId, skillData.SkillAnimatorIndex);
                animatorComponent.SetTrigger(Constant.AnimatorParam.Skill);
            }
        }
Exemple #17
0
        /// <summary>
        /// Загрузка данных
        /// </summary>
        protected override void Load()
        {
            UpdateTitle();
            if (scene == null)
            {
                scene = new Scene();

                camHolder          = new Entity();
                camHolder.Position = Vec3.UnitY * 0.3f;
                camHolder.Angles   = new Vec3(30, 135, 0);
                scene.Entities.Add(camHolder);

                cam          = new Camera();
                scene.Camera = cam;
                cam.Parent   = camHolder;

                fpsCam          = new Camera();
                fpsCam.Range    = new Vec2(0.001f, 160f);
                fpsCam.Position = Vec3.Zero;

                grid = new Entity();
                grid.AddComponent(new WireGridComponent()
                {
                    CellCount    = 30,
                    CellSize     = 0.1f,
                    GroupedCells = 5
                });
                scene.Entities.Add(grid);

                cellGizmo = new WireCubeComponent()
                {
                    WireColor = Color.Green,
                    Position  = Vec3.UnitY * 0.5f
                };
                grid.AddComponent(cellGizmo);

                fpsGrid = new Entity();
                fpsGrid.AddComponent(new WireGridComponent()
                {
                    CellCount    = 60,
                    CellSize     = 10f,
                    GroupedCells = 5
                });
                fpsGrid.Position = Vec3.UnitZ * 99;
                fpsGrid.Angles   = new Vec3(90, 0, 0);
                scene.Entities.Add(fpsGrid);
            }

            // Загрузка модели
            if (model != null)
            {
                scene.Entities.Remove(model);
            }
            model          = ModelLoader.FromFile(File.ProjectPath);
            model.Position = Vec3.Zero;
            scene.Entities.Add(model);

            // Дистанция до модели
            range                 = 2f;
            cam.LocalPosition     = Vec3.UnitZ * -range;
            selectedSurface       = -1;
            textureHoveredSurface = -1;

            // Поиск всех поверхностей модели
            surfaces = model.GetComponents <MeshComponent>();
            volumes  = new TrimeshVolumeComponent[surfaces.Length];
            for (int i = 0; i < surfaces.Length; i++)
            {
                volumes[i] = new TrimeshVolumeComponent()
                {
                    Vertices = surfaces[i].Vertices,
                    Indices  = surfaces[i].Indices
                };
                model.AddComponent(volumes[i]);
            }

            // Данные о поверхностях
            surfData = new SurfaceData[surfaces.Length];
            for (int i = 0; i < surfaces.Length; i++)
            {
                surfData[i] = new SurfaceData();
            }

            // Создание списка
            int idx = 0;

            NSListView.NSListViewItem[] surfItems = new NSListView.NSListViewItem[surfaces.Length];
            foreach (MeshComponent mc in surfaces)
            {
                NSListView.NSListViewItem itm = new NSListView.NSListViewItem();
                itm.SubItems = new List <NSListView.NSListViewSubItem>(new NSListView.NSListViewSubItem[] {
                    new NSListView.NSListViewSubItem()
                    {
                        Text = (idx + 1).ToString()
                    },
                    new NSListView.NSListViewSubItem()
                    {
                        Text = ""
                    },
                    new NSListView.NSListViewSubItem()
                    {
                        Text = (mc.Vertices.Length).ToString()
                    },
                    new NSListView.NSListViewSubItem()
                    {
                        Text = (mc.Indices.Length / 3).ToString()
                    },
                });
                surfItems[idx] = itm;
                idx++;
            }
            (Form as ModelForm).surfacesList.Items = surfItems;

            // Создание луча
            ray = new Ray(new Entity[] { model });

            // Поиск аниматора
            animator = model.GetComponent <AnimatorComponent>();
            if (animator != null)
            {
                if (!(Form as ModelForm).propertyTabs.TabPages.Contains((Form as ModelForm).animationPage))
                {
                    (Form as ModelForm).propertyTabs.TabPages.Add((Form as ModelForm).animationPage);
                }

                List <int> frameTimes        = new List <int>();
                AnimatedMeshComponent[] amsh = model.GetComponents <AnimatedMeshComponent>();
                foreach (AnimatedMeshComponent am in amsh)
                {
                    if (am.Frames != null)
                    {
                        foreach (AnimatedMeshComponent.Frame fr in am.Frames)
                        {
                            if (!frameTimes.Contains((int)fr.Time))
                            {
                                frameTimes.Add((int)fr.Time);
                            }
                        }
                    }
                }
                int[] frameTimeArr = frameTimes.ToArray();
                NSAnimationView.PointKey[] pointKeys = new NSAnimationView.PointKey[frameTimeArr.Length];
                for (int i = 0; i < pointKeys.Length; i++)
                {
                    pointKeys[i] = new NSAnimationView.PointKey(frameTimeArr[i]);
                }
                (Form as ModelForm).animationTracker.PointKeys = pointKeys;
                (Form as ModelForm).animationTracker.Length    = animator.FrameCount;
            }
            else
            {
                if ((Form as ModelForm).propertyTabs.TabPages.Contains((Form as ModelForm).animationPage))
                {
                    (Form as ModelForm).propertyTabs.TabPages.Remove((Form as ModelForm).animationPage);
                }
            }

            // Настройка интерфейса
            (Form as ModelForm).cellGizmoButton.Checked   = false;
            (Form as ModelForm).firstPersonButton.Checked = false;
        }
Exemple #18
0
    /// <summary>
    /// 切换角色
    /// </summary>
    /// <param name="go"></param>
    void OnClickChangeRole(GameObject go)
    {
        //if (sprite.spriteName == "nan")
        //{
        //    RoleControllerManager.Instance.CreateRole(100008);

        //    sprite1.spriteName = "nan";
        //    sprite.spriteName = "zhaoyun";
        //}
        //else
        //{
        //    RoleControllerManager.Instance.CreateRole(140008);
        //    sprite1.spriteName = "zhaoyun";
        //    sprite.spriteName = "nan";
        //}


        mSkillCom = ObjectManager.mRole.GetComponent <SkillComponent>();
        if (mSkillCom == null)
        {
            return;
        }

        mAnimator = ObjectManager.mRole.GetComponent <AnimatorComponent>();
        if (mAnimator == null)
        {
            return;
        }

        int count = mSkillCom.SkillDic.Count;

        if (count < 1)
        {
            return;
        }

        mSkillIndexDic.Clear();

        foreach (KeyValuePair <int, Skill> kvp in mSkillCom.SkillDic)
        {
            mSkillIndexDic.Add(kvp.Key, new SkillUIIndex());
        }

        int index = 0;

        foreach (KeyValuePair <int, SkillUIIndex> kvp in mSkillIndexDic)
        {
            kvp.Value.mIndex  = index;
            kvp.Value.mCanUse = true;

            kvp.Value.mSkillIcon = transform.Find("BottomRight/Skill_" + indexarr[index].ToString()).gameObject;
            indexarr[index]      = kvp.Key;
            //kvp.Value.mSkillIcon.GetComponent<UIEventListener>().onClick = OnClickSkill;
            //kvp.Value.mSkillIcon.GetComponent<UIEventListener>().onPress = OnPressSkill;
            kvp.Value.mSkillIcon.name = "Skill_" + kvp.Key;
            kvp.Value.mSkillIcon.SetActive(true);

            //kvp.Value.mCDSprite = kvp.Value.mSkillIcon.transform.Find("CDSprite").GetComponent<UISprite>();

            ++index;
        }
    }
Exemple #19
0
    public void JoyCtrl()
    {
        float h = CrossPlatformInputManager.GetAxis("Horizontal");
        float v = CrossPlatformInputManager.GetAxis("Vertical");

        if (m_Cam != null)
        {
            // calculate camera relative direction to move:
            m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 0, 1)).normalized;
            m_Move       = v * m_CamForward + h * m_Cam.right;
            //Debug.Log(m_Move);
        }
        else
        {
            // we use world-relative directions in the case of no main camera
            m_Move = v * Vector3.forward + h * Vector3.right;
        }

        if (m_AnimatorManager == null)
        {
            if (this.gameObject.GetComponent <AnimatorComponent>())
            {
                m_AnimatorManager = this.gameObject.GetComponent <AnimatorComponent>();
            }
            else
            {
                //Debug.LogError("this.gameObject  AnimatorManager == null");
                return;
            }
        }

        //Debug.Log(m_Move);
        //Debug.Log("h:" + h + "v:" + v);

        if (h != 0.0f || v != 0.0f)
        {
            float degree = 180.0f / Mathf.PI * Mathf.Atan2(m_Move.z, m_Move.x);// + 180.0f;
            PlayMove(m_Move.z, m_Move.x, degree);
        }
        else
        {
            m_AnimatorManager.Stand();
        }

        //if (mJoy == null)
        //{
        //          mJoy = VCAnalogJoystickBase.GetInstance("JoyStick");

        //	return;
        //}

        //if (mJoy.AxisX != 0.0f || mJoy.AxisY != 0.0f)
        //{

        //	Vector3 v = new Vector3(mJoy.AxisX , 0,mJoy.AxisY);

        //	if(v.magnitude < 0.2f)
        //	{
        //		return;
        //	}


        //	PlayMove(mJoy.AxisX, mJoy.AxisY, mJoy.AngleDegrees);

        //          if (mDirection != null)
        //          {
        //              mDirection.localRotation = Quaternion.Euler(new Vector3(0.0f, 0.0f, mJoy.AngleDegrees));
        //          }
        //      }
        //if ((Input.GetAxis("Vertical") != 0.0f || Input.GetAxis("Horizontal") != 0.0f))
        //{
        //	float	degree = 180.0f / Mathf.PI * Mathf.Atan2(Input.GetAxis("Vertical"), Input.GetAxis("Horizontal"));// + 180.0f;
        //	PlayMove(Input.GetAxis("Horizontal") , Input.GetAxis("Vertical"),degree);
        //}
        ////else   if ( Input.GetAxis("Vertical") == 0.0f && Input.GetAxis("Horizontal") == 0.0f)
        //else
        //{
        //	speed = 0;
        //	m_AnimatorManager.Stand();
        //      }


        if (Input.GetKeyDown(KeyCode.O))
        {
            gameObject.GetComponent <SkillComponent>().DoSkill(600009);
        }

        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            gameObject.GetComponent <SkillComponent>().DoSkill(600005);
        }

        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            gameObject.GetComponent <SkillComponent>().DoSkill(600006);
        }

        if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            gameObject.GetComponent <SkillComponent>().DoSkill(600007);
        }


        if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            gameObject.GetComponent <SkillComponent>().DoSkill(600008);
        }

        if (Input.GetKeyDown(KeyCode.Alpha5))
        {
            //m_AnimatorManager.BlowupAnim(true);
        }
        else if (Input.GetKeyUp(KeyCode.Alpha5))
        {
            //m_AnimatorManager.BlowupAnim(false);
        }

        if (Input.GetKeyDown(KeyCode.Alpha6))
        {
        }

        if (Input.GetKeyDown(KeyCode.Alpha7))
        {
        }

        if (Input.GetKeyDown(KeyCode.Alpha8))
        {
        }

        if (Input.GetKeyDown(KeyCode.Alpha9))
        {
            m_AnimatorManager.OpenAnim();
        }

        if (Input.GetKeyDown(KeyCode.Alpha0))
        {
            m_AnimatorManager.DeathAnim();
        }
    }
Exemple #20
0
    public void Init()
    {
        mSkillCom = ObjectManager.mRole.GetComponent <SkillComponent>();
        if (mSkillCom == null)
        {
            return;
        }

        mAnimator = ObjectManager.mRole.GetComponent <AnimatorComponent>();
        if (mAnimator == null)
        {
            return;
        }

        int count = mSkillCom.SkillDic.Count;

        if (count < 1)
        {
            return;
        }

        mSkillIndexDic.Clear();

        foreach (KeyValuePair <int, Skill> kvp in mSkillCom.SkillDic)
        {
            mSkillIndexDic.Add(kvp.Key, new SkillUIIndex());
        }

        int index = 0;

        foreach (KeyValuePair <int, SkillUIIndex> kvp in mSkillIndexDic)
        {
            kvp.Value.mIndex  = index;
            kvp.Value.mCanUse = true;

            kvp.Value.mSkillIcon = transform.Find("BottomRight/Skill_" + indexarr[index].ToString()).gameObject;
            indexarr[index]      = kvp.Key;
            //kvp.Value.mSkillIcon.GetComponent<UIEventListener>().onClick = OnClickSkill;
            //kvp.Value.mSkillIcon.GetComponent<UIEventListener>().onPress = OnPressSkill;
            kvp.Value.mSkillIcon.name = "Skill_" + kvp.Key;
            kvp.Value.mSkillIcon.SetActive(true);

            //kvp.Value.mCDSprite = kvp.Value.mSkillIcon.transform.Find("CDSprite").GetComponent<UISprite>();

            ++index;
        }

        //mRollButton = transform.Find("BottomRight/Roll").GetComponent<UIEventListener>();
        //mRollButton.onClick += OnClickRoll;

        mChangeRoleF = transform.Find("touxiang/Button1").gameObject;
        mChangeRoleS = transform.Find("touxiang/Button2").gameObject;

        //mChangeRoleF.GetComponent<UIEventListener>().onClick += OnClickChangeRole;
        //sprite1 = mChangeRoleF.transform.Find("Sprite").GetComponent<UISprite>();
        //sprite1.atlas = ResourceManager.Instance.GetAtlas("Fight");

        //sprite = transform.Find("touxiang/touxiang").GetComponent<UISprite>();
        //sprite.atlas = ResourceManager.Instance.GetAtlas("Fight");

        mCombo           = transform.Find("TopRight").gameObject;
        mComboBackground = transform.Find("TopRight/Background").gameObject;
        mComboGrid       = transform.Find("TopRight/Grid").gameObject;
        mPosition        = mComboGrid.transform.localPosition;
        mComboNumber     = transform.Find("TopRight/temp").gameObject;
    }