public void Place(Vector3[] Positions, Quaternion[] Rotations, Vector3[] Scales, bool RegisterUndo) { if (Positions.Length > 0 && RegisterUndo && !IsPasteAction && !UndoRegistered) { Undo.RegisterUndo(new UndoHistory.HistoryPropsChange()); } for (int i = 0; i < Positions.Length; i++) { if (!MapLuaParser.IsInArea(Positions[i])) { continue; } Positions[i].y = ScmapEditor.Current.Teren.SampleHeight(Positions[i]); Prop NewProp = new Prop(); NewProp.GroupId = RandomPropGroup; NewProp.CreateObject(Positions[i], Rotations[i], Vector3.one); AllPropsTypes[RandomPropGroup].PropsInstances.Add(NewProp); if (IsPasteAction && i == 0) { PastedObjects.Add(NewProp.Obj.gameObject); } } }
void Paint(Vector3 AtPosition, Quaternion Rotation) { if (!MapLuaParser.IsInArea(AtPosition)) { return; } RegisterUndo(); AtPosition.y = ScmapEditor.Current.Teren.SampleHeight(AtPosition); Prop NewProp = new Prop(); NewProp.GroupId = RandomPropGroup; NewProp.CreateObject(AtPosition, Rotation, Vector3.one); AllPropsTypes[RandomPropGroup].PropsInstances.Add(NewProp); TotalMassCount += AllPropsTypes[RandomPropGroup].PropObject.BP.ReclaimMassMax; TotalEnergyCount += AllPropsTypes[RandomPropGroup].PropObject.BP.ReclaimEnergyMax; TotalReclaimTime += AllPropsTypes[RandomPropGroup].PropObject.BP.ReclaimTime; }