private UnitObject _createInstance <T>() where T : UnitObject { if (mUnitObject != null) { return(mUnitObject); } var obj = FEngineManager.Create(nTypeKey, this.gameObject); if (obj != null) { mUnitObject = obj.GetComponent <T>(); if (mUnitObject == null) { mUnitObject = obj.AddComponent <T>(); } } var tran = mUnitObject.transform as RectTransform; if (tran != null) { tran.anchoredPosition3D = Vector3.zero; } else { mUnitObject.transform.localPosition = Vector3.zero; } return(mUnitObject); }
public GameObject ChangeWeapon(string boneName, string sourceName) { Transform bone = GetBone(boneName); if (bone) { GameObject weapon = null; if (sourceName != "") { weapon = FEngineManager.Create(sourceName, bone.gameObject); } if (mWeapons.ContainsKey(boneName)) { FEngineManager.Remove(mWeapons[boneName]); } mWeapons[boneName] = weapon; return(weapon); } else { Debug.LogError(sourceName + "武器切换,骨骼:" + boneName + "没有找到"); } return(null); }
public void CreateBones(string boneName) { mBody = FEngineManager.Create(boneName, this.gameObject); mBones = mBody.GetComponentsInChildren <Transform>(true); FEngineManager.AddComponent <SkinnedMeshRenderer>(mBody); mBodyAnimator = FEngineManager.AddComponent <FCAnimator>(mBody); Init(); }
public GameObject Create(string name, GameObject pos = null) { return(FEngineManager.Create(name, pos)); }