public static void RemoveMapObject(RemoveMapObject P) { if (MapObject.User.ObjectID == P.ObjectID) { return; } for (int I = 0; I < MapLayer.ObjectList.Count; I++) { if (MapLayer.ObjectList[I].ObjectID == P.ObjectID) { MapLayer.ObjectList[I].Remove(); break; } } if (PlayerObject.TargetObject != null && PlayerObject.TargetObject.ObjectID == P.ObjectID) { PlayerObject.TargetObject = null; } if (PlayerObject.MouseObject != null && PlayerObject.MouseObject.ObjectID == P.ObjectID) { PlayerObject.MouseObject = null; } }
void Update() { List <RemoveMapObject> cleanupList = new List <RemoveMapObject>(); for (int i = 0; i < removeObjectList.Count; i++) { RemoveMapObject removeObject = removeObjectList[i]; //shrink size float size = 1.0f - ((1.0f + Mathf.Sin(removeObject.timer * 4.0f)) * 0.5f); Vector3 scale = Vector3.one * size; removeObject.transform.localScale = scale; removeObject.timer += Time.deltaTime; if (removeObject.timer >= 0.5f) { Destroy(removeObject.obj); cleanupList.Add(removeObject); } } for (int i = 0; i < cleanupList.Count; i++) { removeObjectList.Remove(cleanupList[i]); } }