コード例 #1
0
        public virtual EventObjectData GetData()
        {
            var data = new EventObjectData();

            data.type       = name.Contains("(") ? name.Substring(0, name.IndexOf("(")).Trim() : name;
            data.position   = transform.position;
            data.rotation   = transform.rotation;
            data.scale      = transform.localScale;
            data.triggerred = triggerred;
            data.inProgress = inProgress;
            data.completed  = completed;
            data.objectId   = ObjectId;

            return(data);
        }
コード例 #2
0
    public override void SetData(EventObjectData data)
    {
        base.SetData(data);

        blockingWallDefinitions = ((SpawnTrapTriggerData)data).blockingWallDefinitions;

        var enemyPlayers = FindObjectsOfType <Player>();

        foreach (var enemyPlayer in enemyPlayers)
        {
            if (!enemyPlayer.human)
            {
                this.enemyPlayer = enemyPlayer;
                return;
            }
        }
    }
コード例 #3
0
    public override EventObjectData GetData()
    {
        EventObjectData baseData = base.GetData();

        ArenaRoomTriggerData data = new ArenaRoomTriggerData(baseData);

        data.arenaCenter = arenaCenter.transform.position;
        data.arenaRadius = arenaRadius;

        if (blockingDoor)
        {
            data.blockingWall = blockingDoor.GetData();
        }
        else
        {
            data.blockingWall = null;
        }

        return(data);
    }
コード例 #4
0
    public override void SetData(EventObjectData data)
    {
        base.SetData(data);

        var arenaRoomTriggerData = ((ArenaRoomTriggerData)data);

        arenaRadius = arenaRoomTriggerData.arenaRadius;

        var flagObj = Instantiate(ResourceManager.GetWorldObject("ArenaRoomFlag"), arenaRoomTriggerData.arenaCenter, transform.rotation);

        arenaCenter = flagObj.GetComponent <Flag>();

        var enemyPlayers = FindObjectsOfType <Player>();

        foreach (var enemyPlayer in enemyPlayers)
        {
            if (!enemyPlayer.human)
            {
                this.enemyPlayer = enemyPlayer;
                enemyPlayer.Start();
                break;
            }
        }

        if (arenaRoomTriggerData.blockingWall != null)
        {
            var blookingDoorBuilding = enemyPlayer.AddBuilding(
                "BlockingWall",
                arenaRoomTriggerData.blockingWall.position,
                arenaRoomTriggerData.blockingWall.rotation,
                arenaRoomTriggerData.blockingWall.objectName
                );
            blockingDoor = blookingDoorBuilding.GetComponent <BlockingWall>();
            blockingDoor.SetData(arenaRoomTriggerData.blockingWall);
        }
    }