public void AddEquipmentGradeEffect(EnumEquipSlot slot, GameObject node) { if (_upgradeNodeMapping[(int)slot] != null) { Destroy(_upgradeNodeMapping[(int)slot]); _upgradeNodeMapping[(int)slot] = null; } _upgradeNodeMapping[(int)slot] = node; }
public void SwitchWeaponTo(EnumEquipSlot slot, FC_EQUIPMENTS_TYPE weaponTypeFlag) { //bool ret = false; Transform transSlot = null; if (slot != EnumEquipSlot.MAX) { transSlot = _owner._avatarController.GetSlotNode(slot); } SwitchWeaponTo(transSlot, weaponTypeFlag); }
public Transform ACGetTransformByName(EnumEquipSlot pName) { if (_firePoints != null) { return(_firePoints[(int)pName]); } else { return(ThisTransform); } }
/// <summary> /// Add the game object to equipment node list /// </summary> public void AddEquipmentNode(EnumEquipSlot slot, GameObject node, bool replaceOther) { if (replaceOther) { _nonReplacedEquipments.Add(node); return; } if (_equipmentMapping[(int)slot] != null) { Destroy(_equipmentMapping[(int)slot]); _equipmentMapping[(int)slot] = null; } _equipmentMapping[(int)slot] = node; // for slot on weapons, find child node. if (slot == EnumEquipSlot.damage_main_A) { Transform transSlot = Utils.FindTransformByNodeName(node.transform, FCEquipmentsBase.GetNodeByEquipSlot(slot)); if (transSlot != null) { _equipmentMapping[(int)slot] = transSlot.gameObject; } } }
public static string GetNodeByEquipSlot(EnumEquipSlot slot) { return(nodeNames[(int)slot]); }
virtual public void OnAssembled(EnumEquipSlot slot, GameObject go, FC_EQUIPMENTS_TYPE equipmentType) { }
public override void OnAssembled(EnumEquipSlot slot, GameObject go, FC_EQUIPMENTS_TYPE equipmentType) { //_bladeInfosIdx = 0; if (_bladeInfos != null && _bladeInfosIdx >= _bladeInfos.Length) { _bladeInfosIdx = 0; } Transform [] transforms = go.GetComponentsInChildren <Transform>(); List <GameObject> gl = new List <GameObject>(); List <MessageReciever> ml = new List <MessageReciever>(); List <BladeSlide> bl = new List <BladeSlide>(); _bladeInfos[_bladeInfosIdx] = new BladeInfo(); _bladeInfos[_bladeInfosIdx]._bladeType = equipmentType; _bladeInfos[_bladeInfosIdx]._bladeTransform = go.transform; _bladeInfos[_bladeInfosIdx]._originalTransform = go.transform.parent; _bladeInfos[_bladeInfosIdx]._currentTransform = go.transform.parent; foreach (Transform t in transforms) { GameObject subgo = t.gameObject; Collider c = subgo.GetComponent <Collider>(); if (c != null) { gl.Add(subgo); } MessageReciever mr = subgo.GetComponent <MessageReciever>(); if (mr != null) { ml.Add(mr); } BladeSlide blade = subgo.GetComponent <BladeSlide>(); if (blade != null) { bl.Add(blade); } } _bladeInfos[_bladeInfosIdx]._colliders = gl.ToArray(); _bladeInfos[_bladeInfosIdx]._messageReceivers = ml.ToArray(); _bladeInfos[_bladeInfosIdx]._bladerCenter = new Vector3[_bladeInfos[_bladeInfosIdx]._colliders.Length]; _bladeInfos[_bladeInfosIdx]._bladerSize = new Vector3[_bladeInfos[_bladeInfosIdx]._colliders.Length]; _bladeInfos[_bladeInfosIdx]._bladeReal = new BoxCollider[_bladeInfos[_bladeInfosIdx]._colliders.Length]; _bladeInfos [_bladeInfosIdx].cubes = new GameObject[_bladeInfos [_bladeInfosIdx]._colliders.Length]; if (_bladeInfos[_bladeInfosIdx]._colliders.Length != 0) { for (int i = 0; i < _bladeInfos[_bladeInfosIdx]._colliders.Length; i++) { _bladeInfos[_bladeInfosIdx]._bladeReal[i] = _bladeInfos[_bladeInfosIdx]._colliders[i].collider as BoxCollider; _bladeInfos[_bladeInfosIdx]._bladerCenter[i] = _bladeInfos[_bladeInfosIdx]._bladeReal[i].center; _bladeInfos[_bladeInfosIdx]._bladerSize[i] = _bladeInfos[_bladeInfosIdx]._bladeReal[i].size; _bladeInfos[_bladeInfosIdx].cubes[i] = GameObject.CreatePrimitive(PrimitiveType.Cube); _bladeInfos[_bladeInfosIdx].cubes[i].transform.parent = go.transform; _bladeInfos[_bladeInfosIdx].cubes[i].transform.gameObject.SetActive(false); } } _bladeInfos[_bladeInfosIdx]._bladeSlide = bl.ToArray(); _bladeInfosIdx++; }
public Transform GetSlotNode(EnumEquipSlot slot) { return(_nodesMapping[(int)slot]); }