示例#1
0
    public void AddSubmittedCommand(Command cmd, short id, bool isOpponent)
    {
        Sprite s = cmd is Command.Spawn ? queueSprites[cmd.direction] : GetArrow(Command.GetDisplay(cmd.commandId));
        RobotPanelsContainerController robotPanelsContainer = isOpponent ? opponentsRobots : myRobots;

        robotPanelsContainer.AddSubmittedCommand(cmd, id, s);
        submitCommands.Activate();
    }
示例#2
0
    public void BindUiToRobotController(short robotId, RobotController robotController)
    {
        MenuItemController             robotButton = Instantiate(genericButton, robotButtonContainer.transform);
        RobotPanelsContainerController container   = robotController.isOpponent ? opponentsRobots : myRobots;

        robotButton.SetSprite(container.GetSprite(robotId));
        robotButton.SetCallback(() => RobotButtonCallback(robotButton, robotController, robotId));
        robotButton.gameObject.SetActive(!robotController.isOpponent);
        int teamLength = robotButtonContainer.menuItems.ToList().Count(m => m.gameObject.activeInHierarchy == !robotController.isOpponent);

        robotButton.transform.localPosition = Vector3.right * (teamLength % 4 * 3 - 4.5f);
        robotButtonContainer.menuItems      = robotButtonContainer.menuItems.ToList().Concat(new List <MenuItemController>()
        {
            robotButton
        }).ToArray();

        container.BindCommandClickCallback(robotController, CommandSlotClickCallback);
    }
示例#3
0
    public void ColorCommandsSubmitted(short id, bool isOpponent)
    {
        RobotPanelsContainerController robotPanelsContainer = isOpponent ? opponentsRobots : myRobots;

        robotPanelsContainer.ColorCommandsSubmitted(id);
    }
示例#4
0
    public void ClearCommands(short id, bool isOpponent)
    {
        RobotPanelsContainerController robotPanelsContainer = isOpponent ? opponentsRobots : myRobots;

        robotPanelsContainer.ClearCommands(id);
    }
示例#5
0
 void SetPlayerPanel(Game.Player player, RobotPanelsContainerController container, LayerMask layer)
 {
     container.Initialize(player.team.Count);
     player.team.ForEach(container.AddPanel);
     ChangeLayer(container.gameObject, layer);
 }