Пример #1
0
        private void SyncMatrixFrames(bool first)
        {
            this.ApplyPermissions();
            List <GameEntity> children = new List <GameEntity>();

            this.SpawnedGhostEntity.GetChildrenRecursive(ref children);
            foreach (GameEntity gameEntity in children)
            {
                GameEntity item = gameEntity;
                if (SpawnerEntityEditorHelper.HasField((object)this.spawner_, item.Name, false))
                {
                    if (first)
                    {
                        MatrixFrame fieldValue = (MatrixFrame)SpawnerEntityEditorHelper.GetFieldValue((object)this.spawner_, item.Name);
                        if (!fieldValue.IsZero)
                        {
                            item.SetFrame(ref fieldValue);
                        }
                    }
                    else
                    {
                        SpawnerEntityEditorHelper.SetSpawnerMatrixFrame((object)this.spawner_, item.Name, item.GetFrame());
                    }
                }
                else
                {
                    MatrixFrame frame = this.stableChildrenFrames.Find((Predicate <KeyValuePair <string, MatrixFrame> >)(x => x.Key == item.Name)).Value;
                    if (!frame.NearlyEquals(item.GetFrame()))
                    {
                        item.SetFrame(ref frame);
                        this.SpawnedGhostEntity.UpdateTriadFrameForEditorForAllChildren();
                    }
                }
            }
        }
Пример #2
0
 private void ChangeStableChildMatrixFrame(string childName, MatrixFrame matrixFrame)
 {
     this.stableChildrenFrames.RemoveAll((Predicate <KeyValuePair <string, MatrixFrame> >)(x => x.Key == childName));
     this.stableChildrenFrames.Add(new KeyValuePair <string, MatrixFrame>(childName, matrixFrame));
     if (!SpawnerEntityEditorHelper.HasField((object)this.spawner_, childName, true))
     {
         return;
     }
     SpawnerEntityEditorHelper.SetSpawnerMatrixFrame((object)this.spawner_, childName, matrixFrame);
 }
Пример #3
0
        private void GetChildrenInitialFrames()
        {
            List <GameEntity> children = new List <GameEntity>();

            this.SpawnedGhostEntity.GetChildrenRecursive(ref children);
            foreach (GameEntity gameEntity in children)
            {
                if (!SpawnerEntityEditorHelper.HasField((object)this.spawner_, gameEntity.Name, false))
                {
                    this.stableChildrenFrames.Add(new KeyValuePair <string, MatrixFrame>(gameEntity.Name, gameEntity.GetFrame()));
                }
            }
        }