Beispiel #1
0
    public void UpdatePlayerInfo()
    {
        string filePath = Application.persistentDataPath + "/Player.xml";

        if (File.Exists(filePath))
        {
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(filePath);

            XmlNodeList playerNodeList = xmlDoc.SelectSingleNode("Player").ChildNodes;
            //遍历Player结点下所有子节点
            foreach (XmlElement xe in playerNodeList)
            {
                switch (xe.Name)
                {
                case "LevelLayer":
                    xe.InnerText = LayerCount.ToString();
                    break;

                case "Hp":
                    xe.InnerText = Hp.ToString();
                    break;

                case "ShootLevel":
                    xe.InnerText = ShootLevel.ToString();
                    break;

                case "SpeedLevel":
                    xe.InnerText = SpeedLevel.ToString();
                    break;

                case "BulletLevel":
                    xe.InnerText = BulletLevel.ToString();
                    break;

                case "LightLevel":
                    xe.InnerText = BulletLevel.ToString();
                    break;

                case "Speed":
                    xe.InnerText = Speed.ToString();
                    break;

                case "ShootTimer":
                    xe.InnerText = ShootTimer.ToString();
                    break;

                case "Money":
                    xe.InnerText = Money.ToString();
                    break;

                case "SkillIcon":
                    xe.InnerText = skillIcon.ToString();
                    break;
                }
            }
            xmlDoc.Save(filePath);
        }
    }
	private void UpdateSpeedLevel() {
		SpeedLevel speedLevel = GetSpeedLevel();
		if (speedLevel != previousSpeedLevel) {
			RunEvents(speedLevel);
			previousSpeedLevel = speedLevel;
		}
	}
Beispiel #3
0
        public void SetSpeed(SpeedLevel level)
        {
            foreach (GiantSpeed sp in availableMovements)
            {
                if (sp.type.Equals(level))
                {
                    navMeshAgent.speed = sp.speed;
                    return;
                }
            }

            Debug.Log(level.ToString() + " speed level is not supported");
        }
Beispiel #4
0
    public void SavePlayerInfo()
    {
        string filePath = Application.persistentDataPath + "/Player.xml";

        if (!File.Exists(filePath))
        {
            XmlDocument xmlDoc = new XmlDocument();
            //头结点
            XmlElement root = xmlDoc.CreateElement("Player");

            XmlElement locallayer = xmlDoc.CreateElement("LevelLayer");
            locallayer.InnerText = LayerCount.ToString();
            XmlElement localHp = xmlDoc.CreateElement("Hp");
            localHp.InnerText = Hp.ToString();
            XmlElement localShootLevel = xmlDoc.CreateElement("ShootLevel");
            localShootLevel.InnerText = ShootLevel.ToString();
            XmlElement localSpeedLevel = xmlDoc.CreateElement("SpeedLevel");
            localSpeedLevel.InnerText = SpeedLevel.ToString();
            XmlElement localBulletLevel = xmlDoc.CreateElement("BulletLevel");
            localBulletLevel.InnerText = BulletLevel.ToString();
            XmlElement localLightlevel = xmlDoc.CreateElement("LightLevel");
            localLightlevel.InnerText = LightLevel.ToString();
            XmlElement localSpeed = xmlDoc.CreateElement("Speed");
            localSpeed.InnerText = Speed.ToString();
            XmlElement localShootTimer = xmlDoc.CreateElement("ShootTimer");
            localShootTimer.InnerText = ShootTimer.ToString();
            XmlElement localMoney = xmlDoc.CreateElement("Money");
            localMoney.InnerText = Money.ToString();
            XmlElement localSkillIcon = xmlDoc.CreateElement("SkillICon");
            localSkillIcon.InnerText = skillIcon.ToString();

            root.AppendChild(locallayer);
            root.AppendChild(localHp);
            root.AppendChild(localShootLevel);
            root.AppendChild(localSpeedLevel);
            root.AppendChild(localBulletLevel);
            root.AppendChild(localLightlevel);
            root.AppendChild(localSpeed);
            root.AppendChild(localShootTimer);
            root.AppendChild(localMoney);
            root.AppendChild(localSkillIcon);
            xmlDoc.AppendChild(root);
            xmlDoc.Save(filePath);
        }
    }
    private void DisplaySpeed(SpeedLevel level)
    {
        m_speedText.text = m_speed.ToString();
        if (level == SpeedLevel.Slow)
        {
            m_speedBG.color = Color.white;
        }

        if (level == SpeedLevel.Fast)
        {
            m_speedBG.color = Color.yellow;
        }

        else if (level == SpeedLevel.Dangerous)
        {
            m_speedBG.color = Color.red;
        }
    }
Beispiel #6
0
        public void SetAIControllerMode(ControllerMode controllerMode)
        {
            aiControllerMode = controllerMode;
            switch (controllerMode)
            {
            case ControllerMode.None:
                AISpeed = AIController.SpeedLevel.None;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.None;
                break;

            case ControllerMode.Explore:
                AISpeed = AIController.SpeedLevel.Walking;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.High;
                break;

            case ControllerMode.Loot:
                AISpeed = AIController.SpeedLevel.Jogging;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.High;
                break;

            case ControllerMode.Combat:
                AISpeed = AIController.SpeedLevel.Jogging;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.High;
                break;

            case ControllerMode.Flee:
                AISpeed = AIController.SpeedLevel.Running;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.High;
                break;

            case ControllerMode.Hunt:
                AISpeed = AIController.SpeedLevel.Running;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.High;
                break;

            case ControllerMode.DeathCircle:
                AISpeed = AIController.SpeedLevel.Running;
                Actor.Sensor.AIPerceptionLevel = AIRadar.PerceptionLevel.High;
                break;

            default:
                break;
            }
        }
 public void Reset(float x, float y, float rot)
 {
     this.roundScore       = 0;
     this.lane             = null;
     this.playerSkin       = PlayerSkin.None;
     this.isExploding      = false;
     this.skipDeathMarker  = false;
     this.autoCenterOnLane = true;
     this.dampingRatio     = .7f;
     this.impulseScale     = 50f;
     this.X           = x;
     this.Y           = y;
     this.Rotation    = rot;
     this.SpeedLevel  = SpeedLevel.Normal;
     lastStepPos      = body.GetPosition();
     goalIsTop        = !(lastStepPos.Y < this.screen.ClientSize.Y / 2);
     this.SpeedLevel  = SpeedLevel.Normal;
     aboardVehicle    = null;
     this.LivingState = LivingState.Alive;
 }
Beispiel #8
0
        /// <summary>
        /// Sets the speed level of the mailing with the provided id.
        /// </summary>
        /// <param name="mailingId"></param>
        /// <param name="speedLevel"></param>
        public void SetSpeedLevel(long mailingId, SpeedLevel speedLevel)
        {
            string body = SerializationUtils <SpeedLevel> .ToXmlString(speedLevel, "speed_level");

            Post("mailings/" + mailingId.ToString() + "/settings/speedlevel", null, body);
        }
	private void RunEvents(SpeedLevel speedLevel) {
		if (speedLevel == SpeedLevel.Low) RunLowEvent();
		else if (speedLevel == SpeedLevel.Mid) RunMidEvent();
		else if (speedLevel == SpeedLevel.High) RunHighEvent();
	}
Beispiel #10
0
        public static RouteElement GetRouteElement(RouteElement previous, string current, string next)
        {
            // Check Direct
            if (Direct.IsValid(current))
            {
                //Create a new Direct element
                return(new Direct());
            }

            // First element
            if (previous == null)
            {
                //Either SpeedLevel or Airway
                if (SpeedLevel.IsValid(current))
                {
                    return(new SpeedLevel(current));
                }
                // Definitely airway
                else
                {
                    return(new Airway(current));
                }
            }
            // Middle element or last element
            else
            {
                // Last element
                if (next.Equals(string.Empty))
                {
                    // Either NamedPoint, CoordinatePoint or NavaidPoint or STAR(TO BE IMPLEMENTED)
                    // TODO: Implement STAR
                    return(GetSignificantPoint(current));
                }
                // Middle element
                else
                {
                    // Either ChangeOfFlightRule, ChangeOfSpeedLevelPoint, NavaidPoint, CoordinatePoint, NamedPoint or Airway
                    // Check ChangeOfFlightRule
                    if (ChangeOfFlightRule.IsValid(current))
                    {
                        return(new ChangeOfFlightRule(current));
                    }
                    // Check ChangeOfSpeedLevelPoint
                    else if (ChangeOfSpeedLevelPoint.IsValid(current))
                    {
                        string[] currentParts = current.Split('/');

                        SignificantPoint significantPoint = GetSignificantPoint(currentParts[0]);
                        SpeedLevel       speedLevel       = new SpeedLevel(currentParts[1]);

                        return(new ChangeOfSpeedLevelPoint(significantPoint, speedLevel));
                    }
                    // Check CoordinatePoint before checking airway since they can be adjacent
                    else if (CoordinatePoint.IsValid(current))
                    {
                        //Create CoordinatePoint
                        return(new CoordinatePoint(current));
                    }
                    // Either SignificantPoint or Airway
                    // Find the type of previous element
                    else if (previous is Airway | previous is SpeedLevel | previous is Direct)
                    {
                        // Current is a NamedPoint
                        return(GetSignificantPoint(current));
                    }
                    else
                    {
                        // Current is an Airway
                        return(new Airway(current));
                    }
                }
            }
        }