private void HandlePlayerDroppedPlant(Vector3 position) { var newPlant = Instantiate(plantPrefab, position, Quaternion.identity); plantInstance = newPlant; OnPlantCreated?.Invoke(newPlant); camera.Follow = plantInstance.transform; if (!plant_isAlive) { KillPlant(); } }
void announceElementAddedToStage(StageElementCreationTemplate template) { onElementAddedToStage?.Invoke(template.Prefab); GameObjectDelegate eventChannel = null; switch (template.ElementType) { case StageElementType.ONSTAGE_ACTOR: eventChannel = onActorAddedToStage; break; } if (eventChannel != null) { eventChannel?.Invoke(template.Prefab); } }
private void HandlePlantEnteredScene(GameObject go) { OnPlantHasEnteredScene?.Invoke(go); }