コード例 #1
0
    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();
        }
    }
コード例 #2
0
 void deactivateAllPlacementTools()
 {
     GlobalReferences.ClearAffectedList();
     PlacementBehaviour.CarryGo[PlacementBehaviour.TempID].SetActive(false);
     PlacementBehaviour.ReleasePart();
     PlacementBehaviour.Aiming = false;
     PlacementBehaviour.DisableSphere.SetActive(false);
 }
コード例 #3
0
    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;
                }
            }
        }
    }
コード例 #4
0
    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);
    }
コード例 #5
0
 public override void DeactivateItem()
 {
     base.DeactivateItem();
     GlobalReferences.ClearAffectedList();
 }