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); } }
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); }
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); }
public override void SetObject(IObject obj) { base.SetObject(obj); mRestoreComponent = obj.GetComponent <RestoreComponent>(); mAnimatorComponent = obj.GetComponent <AnimatorComponent>(); }
public override void SetObject(IObject obj) { mAnimatorComponent = obj.GetComponent <AnimatorComponent>(); mRestoreComponent = obj.GetComponent <RestoreComponent>(); InitAI(); }
//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); } } }
/// <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); } }
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(); }
void Update() { if (AnimatorComponent != null) { //if (AnimatorComponent.ContainsParam("Jumping")) { AnimatorComponent.SetBool("Jumping", _enemy.IsJumping); } } float angle = GetFacingAngleRelativeToCamera(); SetDirectionForAngle(angle); }
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(); }
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>(); } }
/// <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 }
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); } }
/// <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; }
/// <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; } }
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(); } }
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; }