14 if (this.data.interval != 0f)
16 return this.data.interval;
29 return this.owner.refVal;
33 this.owner.refVal = value;
43 return EClass.core.refs.fireworks[this.id %
EClass.core.refs.fireworks.Count];
49 public virtual string Path
59 public override bool UseExtra
63 return this.owner.isOn;
74 if (this._data ==
null)
77 if (this._data ==
null)
80 this.owner.SetObj(7, this._data);
87 this.owner.SetObj(7, value);
92 public void Proc(Vector3 v =
default(Vector3))
95 if (this.data.color.Get().a != 0f)
97 effect.SetParticleColor(this.data.color.Get());
99 if (this.data.sprite != 0)
101 Sprite sprite = effect.sprites[this.data.sprite % effect.sprites.Length];
102 ParticleSystem[] componentsInChildren = effect.GetComponentsInChildren<ParticleSystem>();
103 for (
int i = 0; i < componentsInChildren.Length; i++)
105 ParticleSystem.ShapeModule shape = componentsInChildren[i].shape;
106 if (shape.shapeType == ParticleSystemShapeType.Sprite && shape.sprite)
108 shape.sprite = sprite;
109 shape.texture = sprite.texture;
113 if (effect.dirs.Length != 0)
115 effect.transform.localEulerAngles = effect.dirs[this.owner.dir % effect.dirs.Length];
117 effect.Play((v ==
default(Vector3)) ? ((this.owner.parent ==
EClass._zone) ?
this.owner.renderer.position :
EClass.pc.renderer.position) : v);
121 public override void TrySetAct(
ActPlan p)
124 if (p.input != ActInput.AllAction)
128 if (this.
Effect.sprites.Length != 0)
130 p.TrySetAct(
"actChangeSymbol", delegate()
132 UIContextMenu uicontextMenu =
EClass.ui.CreateContextMenuInteraction();
133 uicontextMenu.AddSlider(
"adjustment", (
float a) => ((
int)a).ToString() ??
"", (
float)this.data.sprite, delegate(
float b)
135 this.data.sprite = (int)b;
136 }, 0f, (float)(this.Effect.sprites.Length - 1),
true,
false,
false);
137 uicontextMenu.Show();
139 }, this.owner,
null, 1,
false,
true,
false);
141 if (this.
Effect.systems.Length != 0)
143 p.TrySetAct(
"actChangeColor", delegate()
145 EClass.ui.AddLayer<
LayerColorPicker>().SetColor(this.data.color.Get(),
new Color(0f, 0f, 0f, 0f), delegate(PickerState state, Color _c)
147 this.data.color.Set(_c);
150 }, this.owner,
null, 1,
false,
true,
false);
152 p.TrySetAct(
"actChangeInterval", delegate()
154 UIContextMenu uicontextMenu =
EClass.ui.CreateContextMenuInteraction();
155 uicontextMenu.AddSlider(
"adjustment", (
float a) => (0.01f * (
float)((
int)(a * 10f))).ToString() ??
"", this.data.interval * 10f, delegate(
float b)
157 this.data.interval = b * 0.1f;
158 }, 0f, 200f,
true,
false,
false);
159 uicontextMenu.Show();
161 }, this.owner,
null, 1,
false,
true,
false);
162 p.TrySetAct(
"actChangeDelay", delegate()
164 UIContextMenu uicontextMenu =
EClass.ui.CreateContextMenuInteraction();
165 uicontextMenu.AddSlider(
"adjustment", (
float a) => (0.01f * (
float)((
int)(a * 10f))).ToString() ??
"", this.data.delay * 10f, delegate(
float b)
167 this.data.delay = b * 0.1f;
168 }, 0f, 200f,
true,
false,
false);
169 uicontextMenu.Show();
171 }, this.owner,
null, 1,
false,
true,
false);
174 p.TrySetAct(
"actChangeType", delegate()
176 UIContextMenu uicontextMenu =
EClass.ui.CreateContextMenuInteraction();
177 uicontextMenu.AddSlider(
"adjustment", (
float a) => a.ToString() ??
"", (
float)
this.id, delegate(
float b)
180 this.Proc(
default(Vector3));
181 }, 0f, (float)(EClass.core.refs.fireworks.Count - 1),
true,
false,
false);
182 uicontextMenu.Show();
184 }, this.owner,
null, 1,
false,
true,
false);
189 public override int CompareTo(
Card b)
191 return b.refVal - this.owner.refVal;
209 public float interval;
217 public SerializableColor color =
new SerializableColor(0, 0, 0, 0);