public static V_Object CreateSkeletonPresetAnim(Vector3 position, Material material, UnitAnimType unitAnimType, Vector3 dir, float frameRateMod, Vector3 rotatePrefabDir) { V_Object instancedObject = CreateSkeleton(position, material); V_UnitSkeleton.OnAnimComplete onAnimComplete = delegate(UnitAnim unitAnim) { instancedObject.DestroySelf(); }; instancedObject.GetLogic <V_UnitAnimation>().PlayAnimForced(unitAnimType, dir, frameRateMod, onAnimComplete, null, null); instancedObject.GetLogic <V_IObjectTransform>().SetEulerZ(GetAngleFromVector(rotatePrefabDir)); return(instancedObject); }
public static V_Object CreateSkeletonPresetAnim(Vector3 position, Material material, UnitAnim unitAnim, float frameRateMod, Vector3 rotatePrefabDir, Vector3 scalePrefab, int sortingOrderOffset) { V_Object instancedObject = CreateSkeleton(position, material); V_UnitSkeleton.OnAnimComplete onAnimComplete = delegate(UnitAnim u) { instancedObject.DestroySelf(); }; instancedObject.GetLogic <V_IObjectTransform>().GetTransform().GetComponent <CodeMonkey.MonoBehaviours.PositionRendererSorter>().SetOffset(sortingOrderOffset); instancedObject.GetLogic <V_UnitAnimation>().PlayAnimForced(unitAnim, frameRateMod, onAnimComplete, null, null); instancedObject.GetLogic <V_IObjectTransform>().SetEulerZ(GetAngleFromVector(rotatePrefabDir)); instancedObject.GetLogic <V_IObjectTransform>().SetScale(scalePrefab); return(instancedObject); }
public static List <V_Object> FilterObjectsWithTheseLogicTypes <T>(List <V_Object> objectList) { List <V_Object> ret = new List <V_Object>(); for (int i = 0; i < objectList.Count; i++) { V_Object objectInstance = objectList[i]; T logic = objectInstance.GetLogic <T>(); if (logic != null) { // Contains logic ret.Add(objectInstance); } } return(ret); }