//protected float DrawTowerVisualEffect(float startX, float startY, UnitTower tower){ protected float DrawUnitAnimation(float startX, float startY, Unit item) { string textF = "Animation Setting "; //+(!foldVisual ? "(show)" : "(hide)"); foldAnimation = EditorGUI.Foldout(new Rect(startX, startY += spaceY, spaceX, height), foldAnimation, textF, TDE.foldoutS); if (!foldAnimation) { return(startY); } startX += 12; int objIdx = GetIndexFromHierarchy(item.animatorT, objHierarchyList); EditorGUI.LabelField(new Rect(startX, startY += spaceY, width, height), "Animator Object:", "The transform object which contain the Animator component"); objIdx = EditorGUI.Popup(new Rect(startX + spaceX, startY, width, height), objIdx, objHierarchylabel); item.animatorT = objHierarchyList[objIdx]; startY += 10; TDE.Label(startX, startY += spaceY, width, height, "Clip Idle:", "The animation clip to play when the unit is idle"); item.clipIdle = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipIdle, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, "Clip Hit:", "The animation clip to play when the unit is hit by an attack"); item.clipHit = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipHit, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, "Clip Idle:", "The animation clip to play when the unit is destroyed"); item.clipDestroyed = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipDestroyed, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, "Clip Attack:", "The animation clip to play when the unit attacks"); item.clipAttack = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipAttack, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, " - delay:", "Unit's active target field-of-view in angle"); item.animationAttackDelay = EditorGUI.FloatField(new Rect(startX + spaceX, startY, widthS, height), item.animationAttackDelay); startY += 10; if (item.IsCreep()) { TDE.Label(startX, startY += spaceY, width, height, "Clip Move:", "The animation clip to play when the unit is moving"); item.clipMove = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipMove, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, "Clip Spawn:", "The animation clip to play when the unit is spawned"); item.clipSpawn = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipSpawn, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, "Clip Destination:", "The animation clip to play when the unit reaches destination"); item.clipDestination = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipDestination, typeof(AnimationClip), true); } if (item.IsTower()) { TDE.Label(startX, startY += spaceY, width, height, "Clip Construct:", "The animation clip to play when the unit is constructing"); item.clipConstruct = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipConstruct, typeof(AnimationClip), true); TDE.Label(startX, startY += spaceY, width, height, "Clip Deconstruct:", "The animation clip to play when the unit is deconstructing"); item.clipDeconstruct = (AnimationClip)EditorGUI.ObjectField(new Rect(startX + spaceX, startY, width, height), item.clipDeconstruct, typeof(AnimationClip), true); } return(startY); }
void OnUnitDestroyed(Unit unit) { if (!unit.IsCreep()) { return; } UnitCreep creep = unit.GetUnitCreep(); OnUnitCleared(creep); }
public void SetType(int id, Unit unit) { ID = id; srcPrefabID = unit.prefabID; if (unit.IsTower()) { srcType = _SrcType.Tower; } if (unit.IsCreep()) { srcType = _SrcType.Creep; } }
public static void OnUnitDestroyed(Unit unit) { if (unit.IsCreep()) { if (onCreepDestroyedE != null) { onCreepDestroyedE(unit.unitC); } } else if (!unit.IsTower()) { if (onTowerDestroyedE != null) { onTowerDestroyedE(unit.unitT); } } }
void OnUnitDestroyed(Unit unit) { if (unit.IsCreep()) { if (unit.GetUnitCreep().lifeValue > 0) { GainLife(unit.GetUnitCreep().lifeValue); } } else if (unit.IsTower()) { if (unit.GetUnitTower() == selectedTower) { _ClearSelectedTower(); } } }
void FPSHit(Unit hitUnit, Vector3 hitPoint) { if (attInstance.srcWeapon.GetAOERange() > 0) { LayerMask mask1 = 1 << TDTK.GetLayerCreep(); LayerMask mask2 = 1 << TDTK.GetLayerCreepF(); LayerMask mask = mask1 | mask2; Collider[] cols = Physics.OverlapSphere(hitPoint, attInstance.srcWeapon.GetAOERange(), mask); if (cols.Length > 0) { List <Unit> tgtList = new List <Unit>(); for (int i = 0; i < cols.Length; i++) { Unit unit = cols[i].gameObject.GetComponent <Unit>(); if (!unit.IsDestroyed()) { tgtList.Add(unit); } } if (tgtList.Count > 0) { for (int i = 0; i < tgtList.Count; i++) { AttackInstance attInst = new AttackInstance(); attInst.srcWeapon = attInstance.srcWeapon; attInst.tgtUnit = tgtList[i]; attInst.Process(); tgtList[i].ApplyEffect(attInst); } } } } else { if (hitUnit != null && hitUnit.IsCreep()) { attInstance.tgtUnit = hitUnit; attInstance.Process(); hitUnit.ApplyEffect(attInstance); } } }
void OnUnitDestroyed(Unit unit) { if(!unit.IsCreep()) return; UnitCreep creep=unit.GetUnitCreep(); OnUnitCleared(creep); }
void OnUnitDestroyed(Unit unit) { if(unit.IsCreep()){ if(unit.GetUnitCreep().lifeValue>0) GainLife(unit.GetUnitCreep().lifeValue); } else if(unit.IsTower()){ if(unit.GetUnitTower()==selectedTower) _ClearSelectedTower(); } }
public static void OnUnitDestroyed(Unit unit) { if (unit.IsCreep()) { if (onCreepDestroyedE != null) onCreepDestroyedE(unit.GetUnitCreep()); } else if (!unit.IsTower()) { if (onTowerDestroyedE != null) onTowerDestroyedE(unit.GetUnitTower()); } }
void FPSHit(Unit hitUnit, Vector3 hitPoint) { if(attInstance.srcWeapon.GetAOERange()>0){ LayerMask mask1=1<<LayerManager.LayerCreep(); LayerMask mask2=1<<LayerManager.LayerCreepF(); LayerMask mask = mask1 | mask2; Collider[] cols=Physics.OverlapSphere(hitPoint, attInstance.srcWeapon.GetAOERange(), mask); if(cols.Length>0){ List<Unit> tgtList=new List<Unit>(); for(int i=0; i<cols.Length; i++){ Unit unit=cols[i].gameObject.GetComponent<Unit>(); if(!unit.dead) tgtList.Add(unit); } if(tgtList.Count>0){ for(int i=0; i<tgtList.Count; i++){ AttackInstance attInst=new AttackInstance(); attInst.srcWeapon=attInstance.srcWeapon; attInst.tgtUnit=tgtList[i]; attInst.Process(); tgtList[i].ApplyEffect(attInst); } } } } else{ if(hitUnit!=null && hitUnit.IsCreep()){ attInstance.tgtUnit=hitUnit; attInstance.Process(); hitUnit.ApplyEffect(attInstance); } } }
void OnUnitDestroyed(Unit unit) { if(unit.IsCreep()){ GainScore(unit.GetUnitCreep().scoreValue); } else if(unit.IsTower()){ if(unit.GetUnitTower()==selectedTower) _ClearSelectedTower(); } }