public override void ActivateItem() { active = !active; if (!BoltNetwork.IsRunning || ControllerReferences.IndependantMP) { if (active) { GlobalReferences.TypeFilter.Add(templateID, GlobalReferences.PartProbs[templateID]); Highlight(); } else { GlobalReferences.TypeFilter.Remove(templateID); Lowlight(); } GlobalReferences.ClearAffectedList(); if (PlacementReferences.PlacementType == PlacementReferences.PlaceChoreo.Choreo) { GlobalReferences.ChangeAffectedNumber(PlacementReferences.AffectedParts); } } else { ChangePartFilter evnt = ChangePartFilter.Create(); evnt.State = active; evnt.ID = templateID; evnt.Send(); } }
void deactivateAllPlacementTools() { GlobalReferences.ClearAffectedList(); PlacementBehaviour.CarryGo[PlacementBehaviour.TempID].SetActive(false); PlacementBehaviour.ReleasePart(); PlacementBehaviour.Aiming = false; PlacementBehaviour.DisableSphere.SetActive(false); }
public void ChangeTool(ToolsetControls.InputX input) { if (input == ToolsetControls.InputX.Enter) { if (activityFlags[offset]) { activityFlags[offset] = false; GlobalReferences.TypeFilter.Remove(partNames[offset]); GlobalReferences.ClearAffectedList(); if (GlobalReferences.PlacementType == PlacementTypeTool.PlaceChoreo.Choreo) { GlobalReferences.ChangeAffectedNumber(NumberOfPartsTool.AffectedParts); } } else { activityFlags[offset] = true; GlobalReferences.TypeFilter.Add(partNames[offset]); GlobalReferences.ClearAffectedList(); if (GlobalReferences.PlacementType == PlacementTypeTool.PlaceChoreo.Choreo) { GlobalReferences.ChangeAffectedNumber(NumberOfPartsTool.AffectedParts); } } ChangeColor(); } else if (input == ToolsetControls.InputX.Left) { if (offset > 0) { --offset; foreach (GameObject go in templates) { go.transform.localPosition = go.transform.localPosition - translateOffset; } } } else if (input == ToolsetControls.InputX.Right) { if (offset < activityFlags.Count - 1) { ++offset; foreach (GameObject go in templates) { go.transform.localPosition = go.transform.localPosition + translateOffset; } } } }
public override void OnEvent(ChangePartFilter evnt) { if (evnt.State) { GlobalReferences.TypeFilter.Add(evnt.ID, GlobalReferences.PartProbs[evnt.ID]); } else { GlobalReferences.TypeFilter.Remove(evnt.ID); } GlobalReferences.ClearAffectedList(); if (PlacementReferences.PlacementType == PlacementReferences.PlaceChoreo.Choreo) { GlobalReferences.ChangeAffectedNumber(PlacementReferences.AffectedParts); } partFilterTIs[evnt.ID].ChangeState(evnt.State); }
public override void DeactivateItem() { base.DeactivateItem(); GlobalReferences.ClearAffectedList(); }