public MeterController(KMonoBehaviour target, Meter.Offset front_back, Grid.SceneLayer user_specified_render_layer, params string[] symbols_to_hide) { string[] array = new string[symbols_to_hide.Length + 1]; Array.Copy(symbols_to_hide, array, symbols_to_hide.Length); array[array.Length - 1] = "meter_target"; KBatchedAnimController component = target.GetComponent <KBatchedAnimController>(); Initialize(component, "meter_target", "meter", front_back, user_specified_render_layer, Vector3.zero, array); }
private void Initialize(KAnimControllerBase building_controller, string meter_target, string meter_animation, Meter.Offset front_back, Grid.SceneLayer user_specified_render_layer, Vector3 tracker_offset, params string[] symbols_to_hide) { string name = building_controller.name + "." + meter_animation; GameObject gameObject = UnityEngine.Object.Instantiate(Assets.GetPrefab(MeterConfig.ID)); gameObject.name = name; gameObject.SetActive(false); gameObject.transform.parent = building_controller.transform; this.gameObject = gameObject; KPrefabID component = gameObject.GetComponent <KPrefabID>(); component.PrefabTag = new Tag(name); Vector3 position = building_controller.transform.GetPosition(); switch (front_back) { case Meter.Offset.Behind: { Vector3 position3 = building_controller.transform.GetPosition(); position.z = position3.z + 0.1f; break; } case Meter.Offset.Infront: { Vector3 position2 = building_controller.transform.GetPosition(); position.z = position2.z - 0.1f; break; } case Meter.Offset.UserSpecified: position.z = Grid.GetLayerZ(user_specified_render_layer); break; } gameObject.transform.SetPosition(position); KBatchedAnimController component2 = gameObject.GetComponent <KBatchedAnimController>(); component2.AnimFiles = new KAnimFile[1] { building_controller.AnimFiles[0] }; component2.initialAnim = meter_animation; component2.fgLayer = Grid.SceneLayer.NoLayer; component2.initialMode = KAnim.PlayMode.Paused; component2.isMovable = true; component2.FlipX = building_controller.FlipX; component2.FlipY = building_controller.FlipY; if (front_back == Meter.Offset.UserSpecified) { component2.sceneLayer = user_specified_render_layer; } meterController = component2; KBatchedAnimTracker component3 = gameObject.GetComponent <KBatchedAnimTracker>(); component3.offset = tracker_offset; component3.symbol = new HashedString(meter_target); gameObject.SetActive(true); building_controller.SetSymbolVisiblity(meter_target, false); if (symbols_to_hide != null) { for (int i = 0; i < symbols_to_hide.Length; i++) { building_controller.SetSymbolVisiblity(symbols_to_hide[i], false); } } link = new KAnimLink(building_controller, component2); }
public MeterController(KAnimControllerBase building_controller, string meter_target, string meter_animation, Meter.Offset front_back, Grid.SceneLayer user_specified_render_layer, Vector3 tracker_offset, params string[] symbols_to_hide) { Initialize(building_controller, meter_target, meter_animation, front_back, user_specified_render_layer, tracker_offset, symbols_to_hide); }