public override void _Ready() { ControllerNode = GetParent() as Controller; GameNode = ControllerNode.GetParent().GetParent() as Game; State = TileState.Default; Frame = 0; }
public override void OnClose() { mControllerNode = null; mDisposableList.Dispose(); mDisposableList = null; }
public void OnDispose() { mControllerNode.Recycle2Cache(); mControllerNode = null; mDisposableList.Dispose(); mDisposableList = null; }
public void OnDispose() { mControllerNode.Recycle2Cache(); mControllerNode = null; mDisposableList.Dispose(); mDisposableList = null; mCategoriesSelectorView = null; }
public void Reveal() { if (State != TileState.Clicked) { State = TileState.Clicked; Frame = 1; GameNode.TileClicked(); //Reveals any empty tiles around this one ControllerNode.QueueEmptyNeighbors(Position / 32); } }
protected override void OnDisposed() { mController.Recycle2Cache(); mController = null; }
protected override void OnDisposed() { mControllerNode = null; }
void OnLayout() { ImGui.SetNextWindowPos(new Vector2(0.0f, 0.0f), ImGuiCond.FirstUseEver); ImGui.SetNextWindowSize(new Vector2(Screen.width * 0.5f, Screen.height * 0.2f), ImGuiCond.FirstUseEver); ImGui.Begin("Local IP Addresses"); foreach (var ipAddress in localIpAddresses) { ImGui.BulletText(ipAddress.ToString()); } ImGui.End(); ImGui.SetNextWindowPos(new Vector2(0.0f, Screen.height * 0.2f), ImGuiCond.FirstUseEver); ImGui.SetNextWindowSize(new Vector2(Screen.width * 0.5f, Screen.height * 0.4f), ImGuiCond.FirstUseEver); ImGui.Begin("Viewer States"); foreach (var viewerState in viewerStates.Values) { ImGui.Text($"Viewer (ID: {viewerState.viewerId})"); foreach (var receiverState in viewerState.receiverStates) { ImGui.BulletText($"Receiver (ID: {receiverState.receiverId})"); ImGui.Indent(); ImGui.Text($" Sender ID: {receiverState.senderId}"); ImGui.Text($" Sender End Point: {receiverState.senderAddress}:{receiverState.senderPort}"); ImGui.Unindent(); } ImGui.NewLine(); } ImGui.End(); ImGui.SetNextWindowPos(new Vector2(0.0f, Screen.height * 0.6f), ImGuiCond.FirstUseEver); ImGui.SetNextWindowSize(new Vector2(Screen.width * 0.5f, Screen.height * 0.4f), ImGuiCond.FirstUseEver); ImGui.Begin("Scene Templates"); ImGui.BeginTabBar("Scene Templates TabBar"); if (ImGui.BeginTabItem("Default")) { foreach (var viewerStatePair in viewerStates) { } if (ImGui.Button("Set Scene")) { } ImGui.EndTabItem(); } if (ImGui.BeginTabItem("Single Camera")) { ImGui.InputText("Address", ref singleCameraAddress, 30); ImGui.InputInt("Port", ref singleCameraPort); ImGui.InputFloat("Distance", ref singleCameraDistance); if (ImGui.Button("Set Scene")) { foreach (var serverSocket in serverSockets) { var node = new ControllerNode(singleCameraAddress, singleCameraPort, new Vector3(0.0f, 0.0f, singleCameraDistance), Quaternion.identity); var controllerScene = new ControllerScene(); controllerScene.nodes = new List <ControllerNode>(); controllerScene.nodes.Add(node); controllerScenes[serverSocket] = controllerScene; } } } ImGui.EndTabBar(); ImGui.End(); ImGui.SetNextWindowPos(new Vector2(Screen.width * 0.5f, 0.0f), ImGuiCond.FirstUseEver); ImGui.SetNextWindowSize(new Vector2(Screen.width * 0.5f, Screen.height), ImGuiCond.FirstUseEver); ImGui.Begin("Scene"); ImGui.BeginTabBar("Scene TabBar"); int kinectSenderElementIndex = 0; foreach (var viewerStatePair in viewerStates) { var serverSocket = viewerStatePair.Key; var viewerState = viewerStatePair.Value; var controllerScene = controllerScenes[serverSocket]; if (ImGui.BeginTabItem(viewerState.viewerId.ToString())) { foreach (var node in controllerScene.nodes.ToList()) { ImGui.InputText("Address##" + kinectSenderElementIndex, ref node.senderAddress, 30); ImGui.InputInt("Port##" + kinectSenderElementIndex, ref node.senderPort); ImGui.InputFloat3("Position##" + kinectSenderElementIndex, ref node.position); var eulerAngles = node.rotation.eulerAngles; if (ImGui.InputFloat3("Rotation##" + kinectSenderElementIndex, ref eulerAngles)) { node.rotation = Quaternion.Euler(eulerAngles); } if (ImGui.Button("Remove This Sender##" + kinectSenderElementIndex)) { bool removeResult = controllerScene.nodes.Remove(node); print($"removeResult: {removeResult}"); } ImGui.NewLine(); ++kinectSenderElementIndex; } if (ImGui.Button("Add Kinect Sender")) { controllerScene.nodes.Add(new ControllerNode("127.0.0.1", SENDER_PORT, Vector3.zero, Quaternion.identity)); } if (ImGui.Button("Update Scene")) { string invalidIpAddress = null; foreach (var node in controllerScene.nodes) { if (!IsValidIpAddress(node.senderAddress)) { invalidIpAddress = node.senderAddress; break; } } if (invalidIpAddress == null) { serverSocket.SendViewerScene(controllerScene); } else { print($"Scene not updated since an invalid IP address was found: {invalidIpAddress}"); } } ImGui.EndTabItem(); } } ImGui.EndTabBar(); ImGui.End(); }
public void Reveal() { State = TileState.Clicked; Frame = 4; ControllerNode.EndGameLose(); }