public PlayerArrangementTargetModel( uint id, Vector3 centerPosition, float range, List <ArrangementPosition> positions, ArrangementTargetState state, MonoInfo monoInfo, PlayerMonoViewModel playerMonoViewModel ) { this.Id = id; this.CenterPosition = centerPosition; this.Range = range; this.Positions = positions; this.State = state; this.MonoInfo = monoInfo; this.PlayerMonoViewModel = playerMonoViewModel; }
public YesPlayerArrangementTarget(List <GameObject> gameObjectList, List <ArrangementPosition> arrangementPositions, ArrangementInfo arrangementInfo) { // 中心座標 this.centerPosition = new Vector3(); foreach (var gameObject in gameObjectList) { this.centerPosition += gameObject.transform.position; } this.centerPosition = centerPosition / gameObjectList.Count(); // 半径 this.range = (arrangementInfo.mono.Height * ArrangementAnnotater.ArrangementHeight + arrangementInfo.mono.Width * ArrangementAnnotater.ArrangementWidth) / 2 / 2; // 配列位置 this.arrangementPositions = new List <ArrangementPosition> (arrangementPositions); // はじめは予約 this.arrangementTargetState = ArrangementTargetState.Reserve; }
public PlayerArrangementTargetModel Create( Vector3 centerPosition, float range, List <ArrangementPosition> positions, ArrangementTargetState state, MonoInfo monoInfo, PlayerMonoViewModel playerMonoViewModel ) { var id = this.MaximuId() + 1; var entry = new PlayerArrangementTargetEntry() { Id = id, CenterPosition = new Position3Entry() { X = centerPosition.x, Y = centerPosition.y, Z = centerPosition.z }, Range = range, ArrangementPositions = positions.Select(pos => new Position2Entry() { X = pos.x, Z = pos.z }).ToArray(), ArrangementTargetState = state.ToString(), HasMonoInfoId = monoInfo != null, MonoInfoId = monoInfo != null ? monoInfo.Id : uint.MaxValue, HasMonoViewModelId = playerMonoViewModel != null, MonoViewModelId = playerMonoViewModel != null ? playerMonoViewModel.Id : uint.MaxValue }; this.entrys.Add(entry); PlayerContextMap.WriteEntry(this.entrys); return(CreateByEntry(entry)); }
// 表示状態にする public void ToAppear() { Debug.Assert(this.arrangementTargetState != ArrangementTargetState.Appear, "すでにAppearです"); this.arrangementTargetState = ArrangementTargetState.Appear; }