public override void Handle(UserEvent e) { switch (e.type) { case UserEvent.EventType.LA: { GameObjectLoader.LoadGameObject((e.rawContent as LA).AssetName); break; } case UserEvent.EventType.GA: { var proto = e.rawContent as GA; GOCollection.AddGameObject(proto.GOID, proto.AssetName); break; } case UserEvent.EventType.GR: { GOCollection.DeleteGameObjectByGOId((e.rawContent as GR).GOID); break; } default: { return; } } }
public static void AddGameObject(string goId, string assetName) { var go = GameObject.Instantiate(GameObjectLoader.LoadGameObject(assetName)) as GameObject; World.GetInstance().AddGameObject(goId, go); var eventGenerator = go.GetComponent <EventGenerator>(); go.GetComponent <State> ().isInSimulator = true; if (eventGenerator != null) { eventGenerator.AddListener(EventCollection.OnEventTrigger); } }