예제 #1
0
    void ResetAllParts()
    {
        foreach (GameObject go in GlobalReferences.FrozenParts.Values)
        {
            Part part = go.GetComponent <Part>();

            int        templateId = part.TemplateID;
            int        id         = (int)part.ID;
            Vector3    scale      = go.transform.localScale;
            Vector3    pos        = go.transform.position;
            Quaternion rot        = go.transform.rotation;

            var token = new PartTokenComplex();
            token.TemplateID = templateId;
            token.ID         = id;
            //token.Position = pos;
            //token.Rotation = rot;
            //token.Scale = scale;

            if (part.Parent != -1)
            {
                token.Parent = part.Parent;
            }
            else
            {
                token.Parent = -1;
            }

            if (part.ParentCon != -1)
            {
                token.ParentCon = part.ParentCon;
            }
            else
            {
                token.ParentCon = -1;
            }

            token.ActiveCons = part.ActiveConnections;
            //token.Children = part.Children;
            //token.ChildCons = part.ChildCons;

            var compare = BlockCompare.Create();
            compare.CompareToken  = token;
            compare.BlockEntity   = go.GetComponent <NetworkBlockBehaviour>().entity;
            compare.BlockPosition = go.transform.position;
            compare.BlockRotation = go.transform.rotation;
            compare.Send();
        }

        var changeNumParts = ChangeNumOfParts.Create();

        changeNumParts.Number = GlobalReferences.NumOfParts;
        changeNumParts.Send();
    }
예제 #2
0
 public override void OnEvent(ChangeNumOfParts evnt)
 {
     GlobalReferences.NumOfParts = evnt.Number;
 }