public ElevatorState2(string screen) { Info = new ElevatorInfo(); Info.Floor3.CallEnabled = true; Info.Floor3.Screen = Constants.DOOR_CLOSED; Info.Floor2.CallEnabled = false; Info.Floor2.Screen = screen; Info.Floor1.CallEnabled = true; Info.Floor1.Screen = Constants.DOOR_CLOSED; }
public Elevator() { Info = new ElevatorInfo(); Info.Floor3.CallEnabled = true; Info.Floor3.Screen = Constants.DOOR_CLOSED; Info.Floor2.CallEnabled = true; Info.Floor2.Screen = Constants.DOOR_CLOSED; Info.Floor1.CallEnabled = false; Info.Floor1.Screen = Constants.DOOR_OPEN; floor = 1; }
void cmdChatElevatorAdd(BasePlayer player, string command, string[] args) { if (!hasPermission(player)) { SendReply(player, "You don't have access to this command"); return; } if (args.Length < 2) { SendReply(player, "/elevator_add NAME WAYPOINTS"); return; } var waypoints = Waypoints.Call("GetWaypointsList", args[1]); if (waypoints == null) { SendReply(player, "No waypoints with this name exist"); return; } if (((List <object>)waypoints).Count < 2) { SendReply(player, "To create an elevator you need at least 2 waypoints"); return; } if (!TryGetPlayerView(player, out currentRot)) { return; } if (!TryGetClosestRayPoint(player.transform.position, currentRot, out closestEnt, out closestHitpoint)) { return; } Debug.Log(closestEnt.ToString()); BuildingBlock block = ((Collider)closestEnt).GetComponentInParent <BuildingBlock>(); if (block == null) { SendReply(player, "What you are looking at is not a building block"); return; } var newelevatorinfo = new ElevatorInfo(block, args[0], args[1]); if (elevators[newelevatorinfo.Name] != null) { storedData.Elevators.Remove(elevators[newelevatorinfo.Name]); } elevators[newelevatorinfo.Name] = newelevatorinfo; storedData.Elevators.Add(elevators[newelevatorinfo.Name]); SaveData(); SendReply(player, "You've successfully created a new elevator"); NewElevator(elevators[newelevatorinfo.Name]); }
void NewElevator(ElevatorInfo info) { var objects = GameObject.FindObjectsOfType(typeof(Elevator)); if (objects != null) { foreach (Elevator gameObj in objects) { if (gameObj.info.Name == info.Name) { GameObject.Destroy(gameObj); } } } GameObject gameobject = new UnityEngine.GameObject(); gameobject.AddComponent <Elevator>(); gameobject.GetComponent <Elevator>().SetInfo(info); }
public void SetInfo(ElevatorInfo info) { this.info = info; var cwaypoints = Interface.CallHook("GetWaypointsList", this.info.WaypointsName); if (cwaypoints == null) { Debug.Log(string.Format("{0} was destroyed, informations are invalid. Did you set waypoints? or a PrefabName?", info.Name)); GameObject.Destroy(this); return; } this.waypoints = new List <WaypointInfo>(); foreach (var cwaypoint in (List <object>)cwaypoints) { foreach (KeyValuePair <Vector3, float> pair in (Dictionary <Vector3, float>)cwaypoint) { this.waypoints.Add(new WaypointInfo(pair.Key, pair.Value)); } } if (this.waypoints.Count < 2) { Debug.Log(string.Format("{0} waypoints were detected for {1}. Needs at least 2 waypoints. Destroying.", this.waypoints.Count.ToString(), info.Name)); GameObject.Destroy(this); return; } this.rotation = new UnityEngine.Quaternion(Convert.ToSingle(info.rx), Convert.ToSingle(info.ry), Convert.ToSingle(info.rz), Convert.ToSingle(info.rw)); this.block = CreateBuildingBlock(this.info.PrefabName, this.waypoints[0].GetPosition(), this.rotation, Convert.ToInt32(this.info.Grade)); if (this.block == null) { Debug.Log(string.Format("Something went wrong, couldn't create the BuildingBlock for {0}", info.Name)); GameObject.Destroy(this); return; } protectedBlock.Add(this.block.GetComponent <BaseCombatEntity>()); trigger = block.GetComponentInChildren <MeshCollider>().gameObject.AddComponent <TriggerBase>(); trigger.gameObject.name = "Elevator"; var newlayermask = new UnityEngine.LayerMask(); newlayermask.value = 133120; trigger.interestLayers = newlayermask; trigger.gameObject.layer = UnityEngine.LayerMask.NameToLayer("Trigger"); spawnedElevators.Add(this); }
public void SetInfo(ElevatorInfo info) { this.info = info; var cwaypoints = Interface.CallHook("GetWaypointsList", this.info.WaypointsName); if (cwaypoints == null) { Debug.Log(string.Format("{0} was destroyed, informations are invalid. Did you set waypoints? or a PrefabName?", info.Name)); GameObject.Destroy(this); return; } this.waypoints = new List<WaypointInfo>(); foreach (var cwaypoint in (List<object>)cwaypoints) { foreach (KeyValuePair<Vector3, float> pair in (Dictionary<Vector3,float>)cwaypoint) { this.waypoints.Add(new WaypointInfo(pair.Key, pair.Value)); } } if (this.waypoints.Count < 2) { Debug.Log(string.Format("{0} waypoints were detected for {1}. Needs at least 2 waypoints. Destroying.", this.waypoints.Count.ToString(), info.Name)); GameObject.Destroy(this); return; } this.rotation = new UnityEngine.Quaternion(Convert.ToSingle(info.rx), Convert.ToSingle(info.ry), Convert.ToSingle(info.rz), Convert.ToSingle(info.rw)); this.block = CreateBuildingBlock(this.info.PrefabName, this.waypoints[0].GetPosition(), this.rotation, Convert.ToInt32(this.info.Grade)); if(this.block == null) { Debug.Log(string.Format("Something went wrong, couldn't create the BuildingBlock for {0}", info.Name)); GameObject.Destroy(this); return; } protectedBlock.Add(this.block.GetComponent<BaseCombatEntity>()); trigger = block.GetComponentInChildren<MeshCollider>().gameObject.AddComponent<TriggerBase>(); trigger.gameObject.name = "Elevator"; var newlayermask = new UnityEngine.LayerMask(); newlayermask.value = 133120; trigger.interestLayers = newlayermask; trigger.gameObject.layer = UnityEngine.LayerMask.NameToLayer("Trigger"); spawnedElevators.Add(this); }
void NewElevator(ElevatorInfo info) { var objects = GameObject.FindObjectsOfType(typeof(Elevator)); if (objects != null) foreach (Elevator gameObj in objects) { if(gameObj.info.Name == info.Name) { GameObject.Destroy(gameObj); } } GameObject gameobject = new UnityEngine.GameObject(); gameobject.AddComponent<Elevator>(); gameobject.GetComponent<Elevator>().SetInfo(info); }
void cmdChatElevatorAdd(BasePlayer player, string command, string[] args) { if (!hasPermission(player)) { SendReply(player, "You don't have access to this command"); return; } if (args.Length < 2) { SendReply(player, "/elevator_add NAME WAYPOINTS"); return; } var waypoints = Waypoints.Call("GetWaypointsList", args[1]); if(waypoints == null) { SendReply(player, "No waypoints with this name exist"); return; } if( ((List<object>)waypoints).Count < 2) { SendReply(player, "To create an elevator you need at least 2 waypoints"); return; } if (!TryGetPlayerView(player, out currentRot)) return; if (!TryGetClosestRayPoint(player.transform.position, currentRot, out closestEnt, out closestHitpoint)) return; Debug.Log(closestEnt.ToString()); BuildingBlock block = ((Collider)closestEnt).GetComponentInParent<BuildingBlock>(); if (block == null) { SendReply(player, "What you are looking at is not a building block"); return; } var newelevatorinfo = new ElevatorInfo(block, args[0], args[1]); if (elevators[newelevatorinfo.Name] != null) storedData.Elevators.Remove(elevators[newelevatorinfo.Name]); elevators[newelevatorinfo.Name] = newelevatorinfo; storedData.Elevators.Add(elevators[newelevatorinfo.Name]); SaveData(); SendReply(player, "You've successfully created a new elevator"); NewElevator(elevators[newelevatorinfo.Name]); }